我正在编写回合制游戏的多人游戏部分,我正在使用游戏中心来管理比赛。使用 GKTurnBasedMatch 开始新游戏不会立即向其他玩家发送邀请通知。要发送通知,我必须采取行动并结束第一回合...我可以修改此行为吗?只有当其他玩家已经接受了我的邀请时,我才想进行我的第一个回合。
问问题
226 次
2 回答
2
这样做的一种方法是在 NSData 中添加一个值,比如一个 int,它会记住它的轮数。开始您的游戏,然后立即结束您的回合,而不向用户显示任何内容。它所做的只是增加轮数。当其他玩家接受时,如果轮数为第二轮,则再次增加轮数,并结束他们的轮次。继续这种 end-increment-end 模式,直到第一个玩家收到转身,然后开始正常玩,所有玩家都接受了邀请并正式加入游戏。
我不建议这样做,因为这可能会导致准备开始的玩家的游戏时间显着延迟。他们最终可能会从您的游戏中期待它,但标准模式的玩家开始游戏的明显等待时间更短。
于 2013-04-27T00:53:53.563 回答
-1
您可以检查status
其他参与者的财产GKTurnBasedParticipant
。如果它的状态仍然是GKTurnBasedParticipantStatusInvited
,请禁止自己打开游戏控制器并显示警报。
于 2013-04-09T14:14:03.303 回答