Cocos2d:替换场景仍然有效

时间:2012-12-12 10:22:37

标签: objective-c xcode cocos2d-iphone

我正在尝试处理cocos2d,并遇到了问题。我将尝试清楚和简短,我有一个文件Level1.h和Level1.m的场景 http://pastebin.com/BdZqpXBb 和我的下一个场景:http://pastebin.com/1YPy0E9f 当我从Level1.m切换到下一个场景或主菜单时,似乎一切都发生了变化,我看不到Level1.m中的任何内容,但精灵仍处于活动状态,当我触摸它们时播放声音。为什么会这样?我怎么能杀死他们并删除?我的图层和场景逻辑或内存管理存在问题?谢谢

1 个答案:

答案 0 :(得分:0)

这是内存管理问题。你的场景已泄露,尚未解除分配。也许你在某处保留了一个强有力的参考?

所有这些变量,它们都在大括号内的@interface部分,而不是@implementation下面。因为它们现在的方式使它们成为全局变量,而不是每个实例变量。由于它们是全局的,因此当您更改场景时,这些变量所持有的引用将不会被释放。