我正在使用以下代码从Helloworld场景切换到关卡菜单场景。
NSString *st=[NSString stringWithFormat:@"levelmenu"]; CCTransitionFade *trans=[CCTransitionFade transitionWithDuration:0 scene:[NSClassFromString(st) scene]]; NSLog(@" before replaceScene"); [[CCDirector sharedDirector] replaceScene:trans]; NSLog(@" after replaceScene");
我已经在levelmenu init中放了一个NSlog,但我得到的控制台输出为......
2011-03-29 10:16:24.307 testProject[6574:207] init levelmenu 2011-03-29 10:16:24.787 testProject[6574:207] before replaceScene 2011-03-29 10:16:24.787 testProject[6574:207] after replaceScene 2011-03-29 10:16:24.860 testProject[6574:207] dealloc
我们可以改变调用上面序列的顺序,即在调用levelmenu的菜单init的dealloc之后应该调用它。
答案 0 :(得分:0)
你不应该为此使用dealloc / init。 您可以尝试[CCNode onEnter] / CCNode onExit,当您的场景进入/离开屏幕时会调用它们。