2014-01-18 32 views
2
-(void)startMatchMakingWithDelegate:(id)_delegate { 
    GKMatchRequest *request = [[GKMatchRequest alloc] init]; 
    request.defaultNumberOfPlayers = 2; 
    request.minPlayers = 2; 
    request.maxPlayers = 2; 
    GKMatchmakerViewController *mmvc = [[GKMatchmakerViewController alloc]initWithMatchRequest:request]; 
    mmvc.matchmakerDelegate = _delegate; 
    [gameViewController presentViewController:mmvc animated:YES completion:nil]; 
} 

這會打開一個配對視圖。在這個視圖中,有一個用於邀請朋友參加比賽的按鈕,這會打開一個邀請菜單。打開遊戲中心配對視圖,邀請菜單默認已打開

是否可以用邀請菜單已打開默認打開此配對視圖?


對於上下文,我的遊戲有「排名比賽」和「友誼賽」。排名比賽的成本。如果你與一名隨機球員對抗,那麼它會被視爲排名,如果你和一位朋友比賽,這是一場友誼賽。我想要有兩個按鈕,一個標記爲「排名」,另一個標記爲「友好」。這就是爲什麼我想要一種方式來打開默認的朋友邀請視圖的比賽制作界面 - 所以我可以將它用於「友好」按鈕。

回答

3

您無法到達屏幕直接邀請朋友。一個解決方法是使用遊戲中心的「挑戰」朋友功能進行友誼賽。 This是一個很好的教程。 另一種方法是在打開匹配屏幕之前顯示一個彈出窗口,讓用戶瞭解友好和排名匹配的規則。一旦用戶被分配到一個匹配,您將不得不檢查匹配對象。如果用戶在邀請朋友後進行遊戲,則match.participants數組將在index:1處具有條目,並且該參與者還沒有玩過轉身(可以使用lastTurnDate進行檢查)。

if([[match.participants objectAtIndex:1] playerID] && [[match.participants objectAtIndex:1] lastTurnDate]) 

如果不是,用戶將會玩隨機玩家的排名比賽。

+0

難道只是消息提示用戶打敗你的分數而不是GC邀請嗎? – Voldemort

+0

挑戰就像邀請,你輪到你開始遊戲,你的朋友會得到那個挑戰邀請。點擊它將開始你的朋友的遊戲。 –

+0

看到這個http://www.pocketgamer.co.uk/r/iPhone/feature.asp?t=how_to&c=45127 –