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