【问题标题】:Trouble with GKTurnBasedMatch endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:GKTurnBasedMatch endTurnWithNextParticipants:turnTimeout:matchData:completionHandler 的问题:
【发布时间】:2012-12-29 01:34:21
【问题描述】:

我正在使用 GKTurnBasedMatch 制作 iphone 游戏。首先,我创建游戏并邀请几个玩家。

我用 endTurnWithNextParticipants:turnTimeout:matchData:completionHandler: 结束第一个玩家转好,然后转到第二个玩家。

当第二个玩家轮到他,更新比赛数据,并更新下一个参与者时,他尝试调用相同的 endTurnWithNextParticipants:turnTimeout:matchData:completionHandler:,但是我得到一个错误。

GKErrorDomainCode = 17 "请求的操作无法完成,因为一个或多个参数无效"

nextParticipants 数组看起来不错。我所做的只是将当前玩家放在参与者数组的末尾,turnTimeOut 似乎很好,我做的和我第一次做的一样,matchdata 也应该没问题。

有什么我遗漏的吗?我唯一能想到的就是我没有正确接受比赛的邀请或类似的事情。但是,我不清楚文档。

我已经尝试调试了好几个小时。

如果您能给我任何帮助,我将不胜感激!太感谢了。

【问题讨论】:

  • 确保你发回的是一个新的 matchdata 对象,而不是本回合交回的那个,否则它会窒息。

标签: objective-c ios gamekit


【解决方案1】:

我遇到了同样的问题(或至少类似的问题),但找到了解决方法。您收到的对象(游戏数据)不应像馅饼一样被传递。在我的项目中,我需要获取数据,将它们转换为游戏对象,用处理的数据对其进行处理,然后将其转换回数据包,然后将其发送给下一个玩家。

对我来说,这是您可以安全地处理数据而不改变原始来源的唯一方法。

祝你好运,希望对你有所帮助。

【讨论】:

  • 您如何将数据转换为游戏对象,反之亦然?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多