0
这是一个有点简单的问题,但我无法弄清楚。第二次同样的CCScene被替换后游戏崩溃
1->应用程序启动(与MainMenu的场景)
2->开始(子水平场景被替换)
3->选择第一级(Level1Scene被替换。游戏开始。)
4->返回主菜单。 (MainMenu的场景被替换)
5->开始(子水平场景被替换)
6->选择第一级
7->崩溃。
框(32842,0x3f5c9d98)malloc:*对象0x4bed44错误:释放对象的校验和不正确 - 对象可能在释放后被修改。 *在malloc_error_break中设置一个断点来调试
当我把场景a换成b时,是不是发布了?
据我所知,只有pushScene在内存中保持场景。
+(CCScene *) scene {
CCScene *scene = [CCScene node];
HelloWorldLayer *layer = [HelloWorldLayer node];
[scene addChild: layer];
return scene;
}
场景和图层是autorelease对象。必须在调用replaceScene时释放。 (如果在更换场景时先前的场景被释放)。
只有第一次使用pushScene,然后使用replaceScene - – Guru 2013-03-21 11:36:21
我仍然有同样的问题。当我回到MainMenu场景时,Level1Scene必须被释放。为什么我得到 malloc:***对象0x4da934错误:不正确的校验和对于释放的对象 - 对象可能在释放后被修改。 ***第二次更换游戏场景时,在malloc_error_break中设置断点以调试 ? – Quaso 2013-03-22 07:59:15