结束GKTurnBasedMatch时出现问题

时间:2012-08-15 13:55:25

标签: game-center

我一直在两台设备上测试我的回合制游戏应用。 当设备1退出时(通过滑动并从GKTurnBasedMatchmakerViewController中删除匹配),它会更新设备2以显示匹配已完成(但它仍然在GKTurnBasedMatchmakerViewController中显示匹配是其他玩家的转弯),但设备1不更新!

它在Game Over部分的GKTurnBasedMatchmakerViewController中表示结束的比赛,但是说“没有结果”,并且来自苹果纪录片 - 参赛者的结果尚未设定(通常因为比赛仍在进行中)。

我想知道如何将其设置为其他东西,以及通过这种方式调用(假设)调用的方法。

提前致谢。

1 个答案:

答案 0 :(得分:5)

- (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

    }

}