自己在quick项目中经常会用到场景切换,也就会涉及到相应场景资源的加载和释放,一直没有对场景的node事件进行一个总结,下面我就对quick-cocos2d-x 场景切换时node事件执行顺序谈谈自己的见解。
首先,一个场景中应该包含如下几个函数:ctor,onEnter,onEnterTransitionFinish,onExitTransitionStart,onExit,onCleanup,我们分别在相应的函数里加上打印,通过在a里执行display.replaceScene(require("app.scenes.b").new(),"fade",0.5,cc.c3b(208,231,249)),使a跳转到b,那么我们以上函数的执行顺序:
b_ctor ---------->>>> a_onExitTransitionStart ---------->>>> b_onEnter ---------->>>> a_Exit ---------->>>> b_onEnterTransitionFinish ---------->>>> a_onCleanUp
得出了以上的结论,我们就可以在相应的地方做释放而不用担心冲突了。
github里存放的是我的测试地址:https://github.com/Froyo91/quick-cocos2d-x-order-node-