Я уже несколько дней пытаюсь реализовать многопользовательский режим Game Center и действительно изо всех сил пытаюсь получить что-то кроме GKMatchViewController.
Вот попытка описать мою проблему:
У меня есть два вида, одно из них - главное меню, здесь запускается мультиплеер, и игрок получает GKMatchViewController. Кроме того, пользователь не знает об этом, но представление меняется на многопользовательское представление, где они фактически играют, поэтому, когда GKMatchViewController отклоняется, они находятся в виде игры, а не меню.
Здесь я запускаю мультиплеер (да, я использую cocos2d):
-(void)mpGo:(id)sender{
GKMatchRequest *request = [[[GKMatchRequest alloc] init] autorelease];
request.minPlayers = 2;
request.maxPlayers = 2;
[[GKMatchmaker sharedMatchmaker] findMatchForRequest:request
withCompletionHandler:^(GKMatch *returnedMatch, NSError *error)
{
if (error) NSLog(@"match error: %@", error);
else if (returnedMatch != nil)
{
match = [returnedMatch retain];
match.delegate = self; // start!
}
}];
tempVC = [[UIViewController alloc] init];
GKMatchmakerViewController *mmvc = [[[GKMatchmakerViewController alloc] initWithMatchRequest:request] autorelease];
if (mmvc != nil)
{
mmvc.matchmakerDelegate = self;
[[[CCDirector sharedDirector] openGLView] addSubview:tempVC.view];
[tempVC presentModalViewController:mmvc animated: YES];
}
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.0 scene:[mpView node] withColor:ccWHITE]];
}
При нажатии «Play Now» я получаю эту ошибку:
ошибка сопоставления: Ошибка домена = код GKErrorDomain = 2 "Запрошенная операция была отменена." UserInfo = 0x2248d0 {NSLocalizedDescription = Запрошенная операция была отменена.}
Тогда он просто остается в представлении «Поиск игроков ...».
Извините, я понимаю, что не работает stackoverflow, только у меня было много проблем, и перечислить их было бы как эссе. Я просто не думаю, что я полностью осознаю функциональность игрового центра.
Если бы кто-то мог потратить 5-10 минут на просмотр моего кода со мной по скайпу, ichat или чему-то подобному, я был бы очень благодарен за дополнительный опыт.
Вы будете зачислены в последнем обновлении за любую помощь! ;)
Только 17 лет, у меня нет более широкого понимания и опыта, который есть у многих из вас, и вполне возможно, что я столкнулся с явным препятствием.
Надеюсь, вы поможете мне. Мой скайп / ichat зовут: kahanejosh, а адрес электронной почты kahanejosh@gmail.com, так что, если вы можете связаться, то отлично!