Cocos Creator 生命周期回调

目前提供的声明回调函数主要有:

1
2
3
4
5
6
7
onLoad
start
update
lateUpdate
onDestroy
onEnable
onDisable

onLoad

组件脚本的初始化阶段,提供了onLoad回调函数。onLoad回调会在组件首次激活时出发。在onLoad阶段,保证了可以获取到场景中的其他节点,以及节点关联的资源数据。
onLoad总是会在任何start方法前调用执行。通常会在onLoad阶段去做一些初始化相关的操作。

start

start回调函数会在组件第一次激活前,也就是第一次执行update之前触发

update

每帧更新

1
2
3
4
5
6
cc.Class({
extends: cc.Component,
update: function(dt){
this.node.setPosition(1, 1 * dt);
}
});

lateUpdate

update会在所有动画更新前执行,但如果需要在动画更新之后才进行一些额外操作,或者希望在所有组件的update都执行完之后才进行其他操作,那就需要使用到lateUpdate回调。

1
2
3
4
5
6
7
8
9
10
11
cc.Class({
extends: cc.Component,

update: function() {
console.log('update...');
},

lateUpdate: function(dt) {
console.log("lateUpdate...");
}
});

onEnable

当组件的enabled属性从false变为true时,或者所在节点的active属性从false变为true时,会激活onEnable回调。
如果节点第一次被创建且enabledtrue,则会在onLoad之后,start之前被调用。

##onDisable
当组件的enabled属性从true变为false时,或者所在节点的active属性从true变为false时,会激活onDisable回调。

onDestroy

当组件或者所在节点调用了destroy(),则会调用onDestroy回调,并在当前帧结束时统一回收组件。