10

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

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

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

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

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

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

我一直在尝试调试这个几个小时。

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

4

1 回答 1

1

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

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

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

于 2012-12-28T17:34:21.030 回答