Cocos2d-x 场景的生命周期
***************************************转载请注明出处:http://blog.csdn.net/lttree********************************************
又是一年毕业季啊。。。
virtual bool init(); 在源文件中是:
bool HelloWorld::init() { if( !Layer::init() ) { return false; } ... // 该写啥写啥 return true; } 来一个不常见的,重写 onEnter函数, 头文件中:
virtual void onEnter(); 源文件中:
void HelloWorld::onEnter() { Layer::onEnter(); ... // 添加自己想添加的,比如背景音乐的播放~ } 剩下都大同小异,套路看懂没? virtual声明—>调用父类—>添加自己的改动 一定要记住,首先要实现父类的相应函数,如果不调用,那么层中的动画、动作、schedule等等可能都无法执行了。 下图,是我们执行HelloWorld场景时的启动顺序: 3.多场景切换生命周期 刚看了一个场景启动的顺序,现在看一看多场景切换,生命周期是什么样子的呢? 场景的切换有三种情况: ? 使用replaceScene函数,实现从一个场景切换到另一个场景 ? 使用pushScene函数,将当前场景入场景栈,然后切换到另一个场景 ? 使用popScene函数,将当前场景结束掉,从场景栈弹出第一个场景,切换到那个场景 假设当前场景为HelloWorld,要切换到的下一个场景为HelloTree,下面三个图来全解上面三种情况: ? 使用replaceScene函数,切换场景
? 使用pushScene函数,切换场景 ? 使用popScene函数,切换场景 ******************************************** (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |