Чтобы подключить правильное количество игроков, убедитесь, что вы правильно настроили GKMatchRequest
.
В этом примере у меня есть игра, которая работает только при подключении двух игроков, поэтому я установил минимальное и максимальное количество игроков равным 2:
GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
request.minPlayers = 2;
request.maxPlayers = 2;
GKMatchmakerViewController* mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];
mmvc.matchmakerDelegate = self;
Затем все, что вы отметили, работает так, как ожидалось.
ИЗМЕНИТЬ:
Прочитав свой вопрос еще раз, также убедитесь, что вы сохранили объект GKMatch
, предоставленный вам:
-(void) matchmakerViewController:(GKMatchmakerViewController*)viewController didFindMatch:(GKMatch*)match;
И, конечно же, вы должны установить делегат этого объекта соответствия:
//Done!
-(void) matchmakerViewController:(GKMatchmakerViewController*)viewController didFindMatch:(GKMatch*)match{
[self dismissModalViewController];
[self setCurrentMatch:match];
match.delegate = self;
if (!matchStarted && match.expectedPlayerCount == 0){
matchStarted = YES;
[delegate onMatchStart];
self.handlerVoice = [OnlineHandlerVoice handlerWithMatch:currentMatch];
}
}
person
Mazyod
schedule
12.07.2012