游戏物体生命周期
- 场景中的游戏物体通过脚本来控制其具体行为。
- 生命周期流程图:点击跳转
- 脚本里重点事件函数:
- Awake:游戏物体实例化后并处于激活状态时调用,即使脚本组件没有激活也会调用,而且总是在Start()函数之前调用
- OnEnable:游戏物体与脚本组件激活时调用(会反复触发)
- Start:游戏物体与脚本组件处于激活状态,在Update()运行前调用(只调用一次,当物体关闭激活状态,再打开时不会反复触发)
- FixedUpdate:根据设定的帧率运行(帧率固定,主要用于刚体运算,存在平衡机制去约束)
- Update:每帧调用一次(帧率不固定,与硬件性能以及逻辑复杂度相关)
- LateUpdate:每帧调用一次,在Update()之后调用
- OnDisable:游戏物体/脚本组件关闭激活时调用(会反复触发)
- OnDestroy:当游戏物体销毁时调用
- 注意:在一个场景加载以后,场景当中的每个物体都会遵循上述原则去运行物体上挂载脚本的函数
核心要素
- OnEnable/OnDisable可以反复触发
- Awake/Start始终只触发一次
- FixedUpdate运行帧率由:Edit-Project Settings-Time-Fixed Timestep的值决定 注:每秒运行帧率相等不代表运行时间相等。可通过Time.realtimeSinceStartup测试出来每次FixedUpdate()调用时间间隔是不一样的。
- 为保证FixedUp