我工作的多人遊戲和我的比賽已成功啓動。我的情況是我有三名球員。玩家1,玩家2,玩家3。 從Player3,我叫GKMatch對象的斷開方法和我的disconnect方法是GKMatch委託函數調用didStateChange兩次或延遲呼叫
-(void)disocnnectOnlineMatch {
[self.currOnlineMatch disconnect];
self.currOnlineMatch.delegate = nil;
self.currOnlineMatch = nil;
}
在PLAYER1和Player2設備本didChangeState函數被調用首次超過有時它再次爲Player3再次調用後。預計僅但其呼籲的2倍爲雙方球員
- (void)match:(GKMatch *)match player:(NSString *)playerID didChangeState:(GKPlayerConnectionState)state {
}
任何事情我做的撥錯被調用一次? 斷開匹配的最佳做法是什麼?
還有些時候,這是發生在didChangeState方法被調用,但有一定的延時後。儘管在遊戲中需要斷開連線玩家的一些更新。
什麼可以響應延遲的原因是什麼?
- (void)matchmakerViewController:(GKMatchmakerViewController *)viewController didFindMatch:(GKMatch *)match {
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
currOnlineMatch = match;
currOnlineMatch.delegate = self;
[PuzzleLogicManager sharedManager].onlineNextRound = 2;
[self setupRandomNumberToSend:2.0f];
[presentingViewController dismissViewControllerAnimated:YES completion:^() {
//NSLog(@"dismissed");
}];
}
請幫忙提前