Я новичок в cocos2d и пытаюсь выполнить переход изнутри cocos2d.
В настоящее время я установил следующую функцию:
-(void) return_mm {
NSLog(@"returned to main menu");
UIViewController * con = self.controller;
[con performSegueWithIdentifier:@"Game2MenuSegue" sender:con];
}
запускаться всякий раз, когда нажимается CCMenuItem. Это действительно работает один раз. Однако, когда я возвращаюсь к игровой сцене, кнопка меню перестает работать.
Чтобы быть более конкретным, вызывается переход и запускается функция preparetosegue, но перехода не происходит. Функция viewWillAppear другого представления никогда не запускается.
Я, вероятно, делаю что-то глупое, поэтому, если у кого-то есть предложения по этому поводу, я был бы очень признателен.
Это то, что у меня сейчас есть в функции willDidAppear контроллера игрового представления.
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
if ([[CCDirector sharedDirector] isPaused]) {
[[CCDirector sharedDirector] resume];
[mainView addSubview:[[CCDirector sharedDirector] openGLView]];
return;
}
EAGLView *glview = [EAGLView viewWithFrame:self.view.bounds
pixelFormat:kEAGLColorFormatRGB565 // kEAGLColorFormatRGBA8
depthFormat:0 // GL_DEPTH_COMPONENT16_OES
];
CCDirector *director = [CCDirector sharedDirector];
//[director setDisplayStats:kCCDirectorStatsFPS];
// Enables High Res mode (Retina Display) on iPhone 4 and maintains low res on all other devices
if( ! [director enableRetinaDisplay:YES] )
CCLOG(@"Retina Display Not supported");
[window makeKeyAndVisible];
[mainView addSubview:glview];
[director setOpenGLView:glview];
CCScene *scene = [CCScene node];
GameScene * gs =[GameScene sceneWithController:self];
[gs returnFromMenu];
[scene addChild:gs];
if (director.runningScene) {
[director replaceScene:scene];
} else {
[director runWithScene:scene];
}
}