0

我正在编写回合制游戏的多人游戏部分,我正在使用游戏中心来管理比赛。使用 GKTurnBasedMatch 开始新游戏不会立即向其他玩家发送邀请通知。要发送通知,我必须采取行动并结束第一回合...我可以修改此行为吗?只有当其他玩家已经接受了我的邀请时,我才想进行我的第一个回合。

4

2 回答 2

2

这样做的一种方法是在 NSData 中添加一个值,比如一个 int,它会记住它的轮数。开始您的游戏,然后立即结束您的回合,而不向用户显示任何内容。它所做的只是增加轮数。当其他玩家接受时,如果轮数为第二轮,则再次增加轮数,并结束他们的轮次。继续这种 end-increment-end 模式,直到第一个玩家收到转身,然后开始正常玩,所有玩家都接受了邀请并正式加入游戏。

我不建议这样做,因为这可能会导致准备开始的玩家的游戏时间显着延迟。他们最终可能会从您的游戏中期待它,但标准模式的玩家开始游戏的明显等待时间更短。

于 2013-04-27T00:53:53.563 回答
-1

您可以检查status其他参与者的财产GKTurnBasedParticipant。如果它的状态仍然是GKTurnBasedParticipantStatusInvited,请禁止自己打开游戏控制器并显示警报。

GKTurnBasedParticipant 文档

于 2013-04-09T14:14:03.303 回答