在Unity中,每个游戏对象(GameObject)都可以附加一个或多个脚本(Script),这些脚本继承自`MonoBehaviour`类。`MonoBehaviour`类定义了一系列的生命周期函数,这些函数在游戏的不同阶段被自动调用,从而允许开发者控制游戏对象的行为。
1. **Awake()**
- 被调用时机:当脚本被实例化时立即调用,且仅调用一次。
- 用途:用于执行一些初始化操作,如获取其他组件的引用或设置一些初始状态。
2. **OnEnable()**
- 被调用时机:当对象变为启用状态时调用,例如脚本被添加到游戏对象上或游戏对象被激活时。
- 用途:通常用于初始化只在脚本启用时才需要更改的资源或状态。
3. **Start()**
- 被调用时机:在第一次Update之前调用,也只调用一次。
- 用途:用于执行游戏开始前的设置,如初始化变量、游戏逻辑设置等。
4. **FixedUpdate()**
- 被调用时机:在每个固定的时间间隔内调用,与渲染帧率无关。
- 用途:适用于处理物理计算,如刚体的移动、碰撞检测等,因为这些操作不应受帧率波动的影响。
5. **Update()**
- 被调用时机:每一帧渲染时都会调用。
- 用途:用于执行大部分游戏逻辑,如移动、查找碰撞、状态更新等。
6. **LateUpdate()**
- 被调用时机:在所有Update函数调用完成后调用。
- 用途:适用于需要在其他所有更新完成后执行的行为,如摄像机跟随。
7. **OnDisable()**
- 被调用时机:当对象变为非启用状态时调用。
- 用途:用于执行一些清理工作,如停止协程、释放资源等。
8. **OnDestroy()**
- 被调用时机:当游戏对象被销毁时调用。
- 用途:用于执行最终的清理工作,如释放内存、数据库连接等。
9. **Reset()**
- 被调用时机:在编辑器中,当组件被首次添加或点击Reset按钮时调用。
- 用途:用于重置组件的默认值,这个函数在游戏运行时不会被调用。
Unity生命周期函数(自己记忆用)
最新推荐文章于 2024-06-03 18:14:41 发布