我已经在两个设备上测试了我的基于turn的游戏应用。当设备1退出(通过从GKTurnBasedMatchmakerViewController中滑动和删除比赛)时,它会更新设备2以显示比赛已经完成(但它仍然在GKTurnBasedMatchmakerViewController中显示比赛轮到其他玩家),但设备1不更新!
在GKTurnBasedMatchmakerViewController的“游戏结束”部分,它说“没有结果”,而苹果纪录片-参与者的结果还没有确定(通常是因为比赛仍在进行中)。
我想知道如何将其设置为其他值,以及通过以这种方式退出将调用(假定)什么方法。
提前谢谢。
发布于 2013-01-13 10:20:51
- (void)turnBasedMatchmakerViewController:(GKTurnBasedMatchmakerViewController *)viewController playerQuitForMatch:(GKTurnBasedMatch *)match {
if ([match.currentParticipant.playerID isEqualToString:[GKLocalPlayer localPlayer].playerID]) {
[match participantQuitInTurnWithOutcome:GKTurnBasedMatchOutcomeQuit nextParticipants:nextParticipant turnTimeout:GKTurnTimeoutNone matchData:data completionHandler:^(NSError *error) {
[match removeWithCompletionHandler:^(NSError *error) {
//Player quitted and match removed
}];
}];
}
else {
[match participantQuitOutOfTurnWithOutcome:GKTurnBasedMatchOutcomeQuit withCompletionHandler:^(NSError *error) {
[match removeWithCompletionHandler:^(NSError *error) {
//Player quitted and match removed
}];
}];
}
}对于设备2
-(void)handleTurnEventForMatch:(GKTurnBasedMatch *)match {
if (player2.matchOutcome==GKTurnBasedMatchOutcomeQuit){
//Your opponent quitted do something
}
}https://stackoverflow.com/questions/11970582
复制相似问题