Cocos2d iphone 是什么导致了一个场景';在场景被替换后,是否仍要运行?

Cocos2d iphone 是什么导致了一个场景';在场景被替换后,是否仍要运行?,cocos2d-iphone,scene,Cocos2d Iphone,Scene,我有一个场景1,被场景2取代 在对场景2进行一些选择之后,我再次替换场景 又是场景1 但是scene2的时间表还在运行,我还没有真正保留下来 场景2中的任何东西,请帮我做这个 只有在场景未发布时,才会发生这种情况。这意味着,是的,你确实以某种方式保留了它。请记住,将对象添加到NSArray或NSDictionary会保留它 在每个场景的-(void)dealloc方法中设置一个断点,或添加一个NSLog/CCLOG行,以确保场景被正确地解除分配 我从您的代码中猜测,您实际上保留了scene1和s

我有一个场景1,被场景2取代

在对场景2进行一些选择之后,我再次替换场景 又是场景1

但是scene2的时间表还在运行,我还没有真正保留下来 场景2中的任何东西,请帮我做这个


只有在场景未发布时,才会发生这种情况。这意味着,是的,你确实以某种方式保留了它。请记住,将对象添加到NSArray或NSDictionary会保留它

在每个场景的
-(void)dealloc
方法中设置一个断点,或添加一个NSLog/CCLOG行,以确保场景被正确地解除分配

我从您的代码中猜测,您实际上保留了scene1和scene2对象。你不应该那样做。相反,每次更改场景类时,都要创建一个新的场景类实例,如下所示:

[[CCDirector sharedDirector] replacescene:[Scene2 node]];
[[ccdirector shareddirector]replacescene:scene1] //scene1 replacement
[[CCDirector sharedDirector] replacescene:[Scene2 node]];