Q: 什么是节点?
A:一言蔽之曰“cc.Node”
Q:什么是组件?
A:一言蔽之曰“cc.Component”
// 在我这个萌新看来,节点就是层级管理器中的东西,组件就是属性检查器里的东西。我暂时这样去理解。
Q:生命周期回调函数的套路?
A:
大致流程:onLoad >> onEnable >> start >> upDate >> onDisable >> onDistroy
汤师爷翻译:
on: 开始
load: 加载
enable: 激活
disable: 使...失去
distroy: 毁灭
onLoad():
节点首次激活时(比如所在的场景被载入);
节点active属性从false变为true时
初始化那些不常改变的属性
// 比如《摘星星》里地平面实际高度groundY
onEnable()
组件的enabled属性从false变为true时
所在节点的active属性从false变为true时
节点第一次被创建且enabled属性为true时,在onLoad()之后、start()之前
编写中途节点或组件的状态改变时的处理逻辑
start()
只在组件第一次激活前,即第一次upDate()之前触发一次
初始化一些经常变化的属性(例如计时器)
upDate(dt):
每帧更新,用来处理逻辑
dt = 上一帧到当前帧的时间间隔(ms||毫秒)
onDisable():
组件的enabled属性从true变为false时
所在节点的active属性从true变为false时
可以发现它和onEnable()是一对儿的
onDistroy():
组件或节点调用了 destroy()时激活,并在当前帧结束时统一回收组件
场景切换或销毁时
同时声明了onLoad()和onDistroy()时,它们总是成对被调用。
意思是从组件初始 化到销毁这个过程里,它们要么都被调用,要么都不会被调用。
虽然都是成对儿的生命周期回调方法,这一点可是不同于onEnable()和onDisable()。
主要为了资源回收
以上。