是什么原因导致场景的计划在场景被替换后运行?

时间:2012-03-24 06:55:33

标签: cocos2d-iphone scene

  

我有一个由scene2替换的scene1

[[ccdirector shareddirector]replacescene:scene2]//scene2 replacement
  

在scene2上做了一些选择后,我再次替换场景   再次使用scene1

[[ccdirector shareddirector]replacescene:scene1] //scene1 replacement
  

但是scene2的日程安排仍在运行,我还没有真正保留   在scene2中的任何内容,请帮助我!!

1 个答案:

答案 0 :(得分:1)

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

在每个场景的-(void) dealloc方法中设置断点,或添加NSLog / CCLOG行,以确保正确释放场景。

我猜测你的代码实际上是在抓住scene1和scene2对象。你不应该这样做。相反,每次更改时都要创建一个新的场景类实例,如下所示:

[[CCDirector sharedDirector] replacescene:[Scene2 node]];