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 函数无论组件有没有启用,除非游戏对象本身被禁用,否则都会在预加载中运行。
- 不同脚本的执行顺序,可在项目设置->脚本执行顺序中修改