Я, наверное, слишком обдумываю это, но я застрял на этом некоторое время, поэтому я решил обратиться за советом / помощью.
Я использую GameKitHelper (http://www.learn -cocos2d.com / tag / gamekithelper / ), до сих пор это было довольно полезно. Итак, у меня есть помощник, инициализированный в моем "MainMenu" с внедренным протоколом, и т. Д .:
@interface MainMenu : CCLayer <GameKitHelperProtocol> {
...
GameKitHelper *gkHelper;
}
В коде главного меню, у меня есть это:
gkHelper = [GameKitHelper sharedGameKitHelper];
gkHelper.delegate = self;
[gkHelper authenticateLocalPlayer];
Кажется, довольно прямолинейно вперед. На самом деле, это работает именно так, как я ожидаю. У меня есть методы, которые он там ищет (даже при том, что у большинства из них нет кода, связанного с ними (пока?)). Моя проблема в том, когда я действительно хочу начать свою игру. Итак, я использую onMatchFound () для запуска игры, которая в основном работает:
-(void) onMatchFound:(GKMatch*)match
{
[[CCDirector sharedDirector] replaceScene:[CCTransitionFade transitionWithDuration:1.2f scene: [[MultiplayerLoading initWithData:Multiplayer withMultiplayerType:gameTypeToPlay andInitiator:false] scene]]];
}
Моя проблема в том, что когда я пытаюсь играть в игру, метод получения удаления запускается в MainMenu, а не в игровом классе, поэтому все не рассчитывается должным образом.
Можно ли передать элемент управления игровому слою из главного меню при срабатывании onMatchFound?
Надеюсь, это даст достаточно информации, дайте мне знать, если нет.
Спасибо всем!