天天看點

Cocos2d-x多場景切換生命周期

在多個場景切換時候場景的生命周期會更加複雜。這一節我們介紹一下場景切換生命周期。

多個場景切換時候分為幾種情況

情況1使用pushscene函數從實作helloworld場景進入setting場景。

情況2使用replacescene函數實作從helloworld場景進入setting場景。

情況3使用popscene函數從實作setting場景回到helloworld場景。

我們參考helloworld重寫setting層的中幾個生命周期函數代碼如下

 情況1時候它的調用順序如下圖所示。

Cocos2d-x多場景切換生命周期

情況2時候它的調用順序如下圖所示從圖中可見與上面不同是多出helloworld中cleanup函數這也說明replacescene函數會釋放場景對象。

Cocos2d-x多場景切換生命周期

情況3時候它的調用順序如下圖所示從圖中可見popscene函數時候調用setting中cleanup函數這說明popscene函數會釋放setting場景對象當回到helloworld場景時候并不會調用init()函數而是調用onenter函數。

Cocos2d-x多場景切換生命周期

更多内容請關注最新cocos圖書《cocos2d-x實戰 c++卷》

歡迎加入cocos2d-x技術讨論群257760386

《cocos2d-x實戰 c++卷》現已上線各大商店均已開售

《cocos2d-x實戰 c++卷》源碼及樣章下載下傳位址

歡迎關注智捷ios課堂微信公共平台

Cocos2d-x多場景切換生命周期

繼續閱讀