2012-10-24 51 views
1

我正在使用gamecenter api製作基於turnbased的遊戲。我想製作一個按鈕來重新匹配玩家,這樣他們就不必通過遊戲中心視圖控制器並重新邀請同一玩家。在這個問題iOS Game Kit Turn Based Match Programatic Rematch提問者後來注意到,ios 6.0使用rematchWithCompletionHandler使這非常容易。我試圖在我的遊戲中使用它,並且只得到了未知的選擇器錯誤或NSErrors,說我嘗試創建的比賽是不可能的。麻煩使用Game Center中新的rematchWithCompletionHandler方法

[currentMatch rematchWithCompletionHandler:^(GKTurnBasedMatch *match, NSError *error) 
     { 
      if (error) { 
       NSLog(@"%@", error); 
      } 

      else 
      { 
       currentMatch = match; 
       currentMatch.message = @"Rematch"; 
      } 

     }]; 

在調用複賽之前是否有某個階段需要進行比賽?或者我失蹤的東西?

回答

0

rematchWithCompletionHandler似乎只在所有參與比賽的球員正確結束比賽時才起作用。

+0

「正確結束」是否意味着每個對等方都必須調用GkMatch disconnect()? – Bram

+0

@Bram,這個問題是在談論GKTurnBasedMatch。 GKTurnBasedMatch沒有斷開連接方法。這裏有一些方法來結束一個回合制的比賽:participantQuitInTurnWithOutcome:nextParticipants:turnTimeout:matchData:completionHandler, participantQuitOutOfTurnWithOutcome:withCompletionHandler, endMatchInTurnWithMatchData:completionHandler –

+0

我有一個實時的比賽,當我要求重賽,我獲得無回調錯誤,但expectedPlayers是1,而不是0. – Bram

0

它只適用於當兩個玩家都是Game Center朋友的時候。