游戏中心转为超时

时间:2013-10-21 23:20:54

标签: ios game-center gamekit

这似乎是一个非常明显的问题,但我一直在梳理Apple的文档,似乎找不到直接的答案。

当转弯超时时实际发生了什么 - 也就是说,当turnTimeout参数传递给endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:时经过的时间间隔已经过去了?逻辑规定要么存在类似于handleTurnEventForMatch:didBecomeActive:的回调以明确处理不进行移动,要么nextParticipants数组中的下一个玩家将收到转弯通知。

不幸的是,虽然Apple非常乐意描述turnTimeout如何限制玩家必须采取行动的时间(并告诉你由游戏决定如何处理这个问题),但是没有关于什么的信息调用方法或提供什么数据,我看到一些非常奇怪的行为 - 即传递的玩家获得一个handleTurnEvent通知,其匹配数据与他们刚刚超时的转弯相同。有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

Apple关于它的作用的文档:

  

如果下一个行动者没有在指定的位置轮到他们   间隔,阵列中的下一个玩家收到行动通知。   这个过程一直持续到玩家转弯或最后一个玩家   在列表中通知。

在2场比赛的情况下,至少在测试期间,实际上没有发生任何事情。如果P1转弯,则下一个参与者的列表看起来像[P2,P1]。如果P2超时,P1应该收到通知,因为它是列表中的最后一个,但P1刚刚开始,Apple必须考虑"列表的末尾"当你回到最后一个人的时候,而不是当你实际上没有人的时候。这可以防止人们连续两次转弯。虽然不是我希望根据文档发生的事情。我还没有在3+玩家游戏中测试过它。

相关问题