1. 事件函数和执行顺序
函数 | 说明 |
---|---|
Awake () | 在GameObject实例化阶段被调用的。 |
OnEnable() | 组件每次启动的时候被调用的。 |
Start() | 游戏对象第一次update前被调用。 |
FixedUpdate() | 每秒调用固定次数(物理固定帧) |
OnTriggerXXX() | 碰撞器进入了触发器。 |
OnCollisionXXX() | 碰撞器进入碰撞器。 |
yield return new WaitForFixedUpdate() | 下一物理固定帧运行。 |
OnMouseXXX() | 鼠标事件。 |
Update() | 帧事件。 |
yield return new WaitForSeconds() | 等待一段时间。 |
www | 网络服务? |
StartCoroutine() | 开始协程 |
LateUpdate() | 所有Update调用之后被调用的。 |
OnDisable() | 组件每次禁用的时候被调用的。 |
2. 其他事件
函数 | 说明 |
---|---|
OnDrawGizmos() | 在场景中每帧调用,且在编译器中开始运行后依旧调用。 |
OnLevelWasLoaded(int level) | 加载新场景时调用此函数。 |
3. 特殊点
- 如果一个MonoBehaviour实现了 Start 或 Upate 方法,那么作为组件的它就可以被激活(启用)或禁用。
而 Awake 函数无论组件有没有启用,除非游戏对象本身被禁用,否则都会在预加载中运行。 - 不同脚本的执行顺序,可在项目设置->脚本执行顺序中修改