2012-09-11 84 views
2

我正在與cocos2d遊戲中,我正在實施遊戲套件。我的遊戲支持多人遊戲選項。實際上就是給出的例子Raywenderlich link。我是GameKit的GKTurnBasedMultiplayer類。但現在,當第一位玩家連接到遊戲中心並選擇「立即遊戲」選項時,會自動匹配另一位玩家。但問題是它直接連接並開始比賽,並且不會等待另一名球員。我正在使用問題與TurnBased多人遊戲在遊戲包

[[GCTurnBasedMatchHelper sharedInstance] findMatchWithMinPlayers:2 maxPlayers:4 viewController:viewConroller]; 

用於連接和與其他玩家玩,但直接連接比賽。

我想等待其他玩家。這是問題。我也使用GCTurnBasedMatchHelper類。

回答

2

這是GameKit API的預期功能。在回合制比賽中,比賽數據以第一回合提交,在自動匹配的情況下,該回合數據是未確定的玩家,直到遊戲中心在第一次提交回合之後發現對手

這背後的邏輯是「總是輪到你」的回合制比賽原則。如果遊戲中心在您提交第一回合之前將您與玩家相匹配,那麼其他玩家將被邀請參加不屬於他們的比賽,這非常不理想。

正如Apple文檔所述,您必須考慮匹配參與者playerID屬性的情況,返回nil並在您的塊代碼中相應處理。直到你接受他們的回合(這自然是在造物者第一回合之後發生),對手將一直等待。如果您仍然對此感到困惑,請參考Turn-Based Game Center API