生命周期
游戏的脚本生命周期,简单来说,是指脚本组件从被创建到被销毁的整个过程中,所经历的一系列预设事件。这些事件定义了脚本在不同阶段的行为,帮助开发者管理游戏的逻辑和资源。以下是脚本生命周期的通俗解释:
1. 初始化和准备阶段
- onStart():当脚本组件实例化上时调用。这通常是进行初始化操作的时机,比如获取其他组件的引用、设置初始状态等。可以看作是脚本的“出生”时刻,此时它开始准备进入游戏世界。
2. 启用阶段
- onEnable():当脚本组件被启用时调用。这通常用于注册事件监听器、启动计时器等操作。可以理解为脚本“正式上岗”,开始参与游戏世界的交互。
3. 更新阶段
- onUpdate(dt):每帧(64ms)调用一次,进行帧更新。dt参数表示自上一帧以来经过的时间,可以用来进行时间相关的计算,如实现动画、移动等基于帧的操作。这是游戏逻辑的核心部分,每一帧都在这里得到更新。
4. 禁用和销毁阶段
- onDisable():当脚本组件被禁用时调用。这通常用于注销事件监听器、暂停动画或计时器等操作。可以理解为脚本“暂时下岗”,不再参与游戏世界的交互。
- onDestroy():当脚本组件被销毁时调用。这是进行资源清理的最后机会,比如释放内存、注销全局事件监听器等。可以看作是脚本的“死亡”时刻,它正在从游戏世界中退出。
总的来说,脚本生命周期就像是一个脚本组件的“生老病死”过程。通过定义这些生命周期回调函数,开发者可以更加有序地管理游戏的逻辑和资源,确保游戏能够顺畅运行。每个阶段都有其特定的作用和意义,了解并正确应用这些生命周期方法对于开发高质量的游戏至关重要。
以下回调函数实现都是可选
的。
onStart
onStart
回调函数会在组件实例化时触发,会在 onUpdate
第一次刷新之前调用。通常我们会在 onStart
阶段去做一些初始化相关的操作。
onUpdate
游戏世界每一帧(30ms)【可能会有幅度变动】触发 onUpdate
回调。
deltaTime:两次更新之间的时间间隔,单位:毫秒
onDestroy
在执行 destroy
方法后,在 onUpdate
最后一次刷新之后调用。会激活 onDestroy
回调并在当帧结束时统一回收组件。
onRestore
重置组件,但组件不会干预重置权重,总时间等预设值。
在执行 restore
方法后,会激活 onRestore
回调。
onEnable
组件脚本初始化阶段:在执行onStart
回调后,且 onUpdate
开始刷新之前调用。
组件脚本启用阶段:onEnable
回调会在该组件的 enabled
属性从 false
变为 true
时,会激活 onEnable
回调。
启用后, onUpdate
开始刷新。
如果更新enabled
属性与之前相同时,将无法 onEnable
回调。
onDisable
组件脚本销毁阶段:在执行onDestroy
回调前,且 onUpdate
最后一次刷新之后调用。
组件脚本禁用阶段:onDisable
回调会在该组件的 enabled
属性从 true
变为 false
时,会激活 onDisable
回调。
禁用后, onUpdate
暂停刷新。
如果更新enabled
属性与之前相同时,将无法 onDisable
回调。