这是一个有点简单的问题,但我无法弄清楚。
1-> 应用程序启动(带有 MainMenu 场景)
2-> 开始(子关卡场景被替换)
3->选择第一级(Level1Scene被替换。游戏开始。)
4-> 返回主菜单。(MainMenu 场景被替换)
5-> 开始(子关卡场景被替换)
6-> 选择第一级
7-> 崩溃。
box(32842,0x3f5c9d98) malloc: * 对象 0x4bed44 错误:释放对象的校验和不正确 - 对象在释放后可能被修改。*在 malloc_error_break 中设置断点进行调试
当我将场景 a 替换为 b 时,a 是否已发布?
据我所知,只有 pushScene 将场景保存在内存中。
+(CCScene *) scene {
CCScene *scene = [CCScene node];
HelloWorldLayer *layer = [HelloWorldLayer node];
[scene addChild: layer];
return scene;
}
场景和图层是自动释放对象。调用 replaceScene 时必须释放。(如果在替换场景时释放了先前的场景。)