1. 也就是MonoBehaviour脚本的生命周期。
- Awake:游戏脚本被实例化后立即调用,只会在游戏对象被实例化时调用一次。
用于初始化一些全局变量或者在游戏对象被实例化时进行一些设置。
- OnEnable:当游戏对象变为可用或者激活状态时被调用。
用于事件监听。
- Start:在每个游戏对象被激活时调用一次,函数第一次运行前调用
用于初始化一些游戏运行时动态获取的组件或者资源。
- FixedUpdate:每隔固定物理事件调用一次。
用于物理状态的更新,更符合现实世界的运行行为。
- Update:每帧调用一次。
用于更新游戏场景和状态。
- LateUpdate:每帧调用一次,在Update之后调用。
用于更新游戏场景和状态,以及摄像机相关的更新。
- OnGUI:渲染和处理OnGUI事件。
- OnDisable:当对象变为不可用或非激活状态时被调用。事件移除。
- OnDestroy:当对象被销毁时调用。
2. 一个游戏脚本运行测试
- 游戏脚本激活状态运行
- 此运行时将脚本改为非激活状态:执行OnDisable
- 该运行状态下 再次激活脚本:将会执行一次OnEnable,随后FixedUpdate、Update、LateUpdate、OnGUI正常执行。
- 销毁游戏脚本
- 在游戏脚本未激活状态时 第一次运行:只执行Awark
- 该运行状态下 激活游戏脚本:从OnEnable、Start生命周期开始执行
3. 多个游戏脚本运行执行顺序
绑定脚本顺序:先绑定Mono、再绑定Mono1、最后绑定Mono2
执行顺序:Mono2、Mono1、Mono
由此可见:最后绑定的脚本先执行。(调整绑定脚本顺序也是如此)