我有一个由scene2替换的scene1
[[ccdirector shareddirector]replacescene:scene2]//scene2 replacement
在scene2上做了一些选择后,我再次替换场景 再次使用scene1
[[ccdirector shareddirector]replacescene:scene1] //scene1 replacement
但是scene2的日程安排仍在运行,我还没有真正保留 在scene2中的任何内容,请帮助我!!
答案 0 :(得分:1)
只有在未释放场景时才会发生这种情况。这意味着,是的,你确实以某种方式保留了它。请记住,将对象添加到NSArray或NSDictionary会保留它。
在每个场景的-(void) dealloc
方法中设置断点,或添加NSLog / CCLOG行,以确保正确释放场景。
我猜测你的代码实际上是在抓住scene1和scene2对象。你不应该这样做。相反,每次更改时都要创建一个新的场景类实例,如下所示:
[[CCDirector sharedDirector] replacescene:[Scene2 node]];