+(id)场景在替换场景后未调用
问题描述:
我有一个菜单项,当点击时将调用goToGameLayer。该goToGameLayer方法简单地执行以下操作:+(id)场景在替换场景后未调用
[[CCDirector sharedDirector] replaceScene:(CCScene*)[[GameLayer alloc] init]];
然而,replaceScene之后,+(ID)现场GameLayer方法不叫
+(id)scene{
NSLog(@"+(id)scene CALLED");
CCScene *scene = [CCScene node];
GameLayer *layer = [GameLayer node];
[scene addChild: layer];
return scene;
}
我发现在menuLayer该dealloc方法被调用后GameLayer中的init方法,但我不确定是否会中断处理当前场景。
感谢您的任何建议!
答
不会被调用的scene
方法,因为你使用的初始化对象:
[[GameLayer alloc] init]];
如果使用
[GameLayer scene];
,而不是方法将被调用,也可以省略剧组到CCScene
:
[[CCDirector sharedDirector] replaceScene:[GameLayer scene]];
+0
非常感谢!这种方法就像一个魅力 – alanlzl
你在哪里调用'场景'准确? – Popeye
[[CCDirector sharedDirector] replaceScene:[GameLayer scene]]; – YvesLeBorg