天天看点

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多场景切换生命周期

继续阅读