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