场景的生命周期:
一般情况下一个场景只需要一个层,需要创建自己的层类。一些主要的游戏逻辑代码都是写在层中的,场景的生命周期是通过层的生命周期反映出来的,通过重写层的生命周期函数,可以处理场景不同声明周期阶段的事件。
生命周期函数
(1)ctor构造函数。初始化层的时候调用
(2)onEnter() 进入层时调用 //一般情况下在进入层的这个函数里做一些初始化处理。
(3)onEnterTransitionDidFinish()进入层而且过渡动画结束时调用
(4)onExit()退出层时调用 //一般情况下在推出层的这个函数释放一些资源,
(5)onExitTransitionDidStart()退出层且开始过渡动画时调用
层继承于节点,这些生命周期函数根本上是从Node继承而来。事实上所有Node对象都有这些函数,只要是继承这些类都可以重写这些函数,来处理这些对象的不同声明周期阶段事件。
例子:
1 //初始化构造函数 2 var HelloWorldLayer = cc.Layer.extend({ 3 ctor:function(){ 4 this._super(); 5 cc.log("HelloWorldLayer init"); 6 7 }, 8 9 //即将进入层时调用 10 onEnter : function () { 11 this._super(); 12 cc.log("HelloWorldLayer onEnter"); 13 14 }, 15 16 //已经进入层时调用 17 onEnterTransitionDidFinish : function () { 18 this._super(); 19 cc.log("HelloWorldLayer onEnterTransitionDidFinish"); 20 21 }, 22 23 //即将退出层时调用 24 onExit : function () { 25 this._super(); 26 cc.log("HelloWorldLayer onExit"); 27 28 }, 29 30 //已经退出层时调用 31 onExitTransitionDidFinish : function () { 32 this._super(); 33 cc.log("HelloWorldLayer onExitTransitionDidFinish"); 34 35 } 36 });