Iphone 游戏套件中基于TurnBased的多人游戏的问题

Iphone 游戏套件中基于TurnBased的多人游戏的问题,iphone,cocos2d-iphone,game-center,gamekit,Iphone,Cocos2d Iphone,Game Center,Gamekit,我正在使用cocos2d游戏,我正在其中实现游戏工具包。我的游戏支持多人游戏选项。事实上,举个例子。我是游戏套件中的GKTurnBasedMultiplayer类。但现在的问题是,当第一个玩家连接到游戏中心并将选择“立即播放”选项时,它会自动为另一个玩家播放。但问题是它直接连接并开始比赛,而不是等待其他球员。我正在使用 [[GCTurnBasedMatchHelper sharedInstance] findMatchWithMinPlayers:2 maxPlayers:4 viewContr

我正在使用cocos2d游戏,我正在其中实现游戏工具包。我的游戏支持多人游戏选项。事实上,举个例子。我是游戏套件中的GKTurnBasedMultiplayer类。但现在的问题是,当第一个玩家连接到游戏中心并将选择“立即播放”选项时,它会自动为另一个玩家播放。但问题是它直接连接并开始比赛,而不是等待其他球员。我正在使用

[[GCTurnBasedMatchHelper sharedInstance] findMatchWithMinPlayers:2 maxPlayers:4 viewController:viewConroller];
用于连接和与其他玩家一起玩,但直接连接比赛


我想等另一个球员。这就是问题所在。我也在使用GCTurnBasedMatchHelper类。

这是GameKit API的预期功能。在基于回合的比赛中,比赛数据随第一回合一起提交,在自动比赛的情况下,在Game Center在第一回合提交后找到对手之前,该回合是未确定的玩家

这背后的逻辑是“轮到你了”原则和基于轮次的匹配。如果游戏中心在您提交第一回合之前将您与一名玩家配对,则另一名玩家将被邀请参加不轮到他们的比赛,这是非常不受欢迎的

正如Apple文档所说,您必须考虑match participant playerID属性返回为零的情况,并在代码块中进行相应处理。对手将是零,直到你收到他们的回合(这自然发生在造物主的第一回合之后)。如果您仍然对此感到困惑,请参考