2014-03-30 58 views
0

我有一个菜单项,当点击时将调用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方法,但我不确定是否会中断处理当前场景。

感谢您的任何建议!

+0

你在哪里调用'场景'准确? – Popeye

+0

[[CCDirector sharedDirector] replaceScene:[GameLayer scene]]; – YvesLeBorg

回答

1

不会被调用的scene方法,因为你使用的初始化对象:

[[GameLayer alloc] init]]; 

如果使用

[GameLayer scene]; 

,而不是方法将被调用,也可以省略剧组到CCScene

[[CCDirector sharedDirector] replaceScene:[GameLayer scene]]; 
+0

非常感谢!这种方法就像一个魅力 – alanlzl