0

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

4

1 回答 1

0

这是一个内存管理问题。你的场景已经泄露,它还没有被释放。也许您在某处保留了对它的强烈引用?

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

于 2012-12-12T14:52:36.243 回答