2013-02-08 103 views
0

我在cocos2d中創建了一個級別,並且在屏幕上有一個暫停按鈕。點擊暫停屏幕它將打開菜單(恢復,重新啓動,設置)。我希望當我點擊重新啓動菜單時,我的級別將從開始啓動。我已經嘗試過,我已經刪除該圖層類,並再次調用它,但它沒有工作。我試圖替換場景。它也沒有工作。我怎麼能做到這一點? 我試過這個,它的工作原理。如何在cocos2d中重新啓動遊戲(圖層)

[[CCDirector sharedDirector] resume]; 
    [[CCDirector sharedDirector] pushScene:[HelloWorldLayer node]]; 

但是我寫了一遍又一遍的調用pushScene。它會影響我的遊戲嗎?因爲直到現在我正在移除那個我想再次重啓的HelloWorldLayer。

回答

0

您必須使用replaceScene。隨着pushScene的應用程序將最終耗盡內存,因爲以前的場景不會釋放。

一定要創建一個新的場景(就像在你的代碼示例中一樣),不要試圖用已經運行的場景調用replaceScene,否則會失敗。

您還應該驗證您的場景是否在replaceScene後釋放。在dealloc方法中設置一個斷點。如果它不釋放,這意味着場景正在泄漏,並可能導致各種奇怪的問題。

+0

謝謝Steffen。我將pushScene替換爲replaceScene。而dealloc是在更換場景後調用的。 – Zohaib 2013-02-08 12:58:45