我有一个游戏中心游戏,允许玩家每回合进行多次移动。在 iOS 6 中,Apple 实现了一个很棒的功能保存当前回合与匹配数据这允许您做到这一点 - 它将数据保存到游戏中心,以防止通过重复重做动作而作弊,例如,而不前进到下一个玩家。
问题是,我发现这实际上会触发当玩家does结束他们的回合。因此,游戏中的其他玩家会在应用程序图标上看到一个徽章,并错误地认为轮到他们了,但事实并非如此。
有没有人找到解决方法?有什么办法可以打电话保存当前回合与匹配数据不发送推送通知?如果不是,这似乎是一个设计缺陷,应该引起苹果公司的注意。
我同意,这似乎是一个设计缺陷。我还在开发一款回合制游戏,玩家可以在将控制权移交给下一个玩家之前采取多项行动。同时,我希望其他玩家在观看游戏时见证每一个动作。如果其他玩家没有运行该应用程序,我希望他们仅在控制权传递给另一个玩家时收到推送通知。
而不是使用saveCurrentTurnWithMatchData:
, I use endTurnWithNextParticipants:
但我指定当前玩家而不是下一个玩家。这似乎可以解决问题:
NSTimeInterval interval = 86400; // seconds in a day
[currentMatch
endTurnWithNextParticipants:[[NSArray alloc] initWithObjects:currentMatch.currentParticipant,nil]
turnTimeout:interval matchData:[self packMatchData]
completionHandler:^(NSError *error) {
if (error) {
// handle error
}
}
];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)