MonoBehaviour函数执行顺序

Prefab Instantiate

1 Awake(). 加载脚本实例时调用。

2 OnEnable(). 对象可用或被激活时调用。

3 Start(). 对象可用后,在Update之前调用,脚本生命周期内只调用一次。

4 Update(). 每一帧调用一次。调用时间间隔受帧率影响。

Animations

4 FixedUpdate(). 固定时间间隔调用一次,用于物理模拟和计算。

Physics Simulation

   4.1 OnTriggerEnter(). 一个有Rigidbody的Collider,一个选了IsTrigger 的Collider,当Collider接触Trigger时调用。参数Collider。

   4.2 OnTriggerStay(). 当Collider接触Trigger时,在每一帧都调用。

 4.3 OnTriggerExit(). 当Collider离开Trigger时调用。 

 4.4 OnCollisionEnter(). 一个有Rigidbody的Collider,一个有未选IsTrigger的Collider,当Collider接触Collider是调用。参数Collision,信息比Collider多。

 4.5 OnTriggerStay().  当Collider接触Collider时,在每一帧都调用。

   4.6 OnTriggerExit(). 当Collider离开Collider时调用。

   4.7 OnMouseDown/Up/Enter/Over/Exit...

5 LateUpdate(). 每一帧调用一次,在所有其它Update函数后面调用。

6 Coroutine

   Yield

   Yield WaitForSeconds

   Yield WaitForFixedUpdate

   Yield WWW

   Yield StartCoroutine

7 Rendering

  7.1 OnPreCull(). 在相机消隐场景之前被调用。

  7.2 OnBecameVisible()/OnBecameInvisible. 当renderer在相机上可见/不可见时调用。

  7.3 OnWillRenderObject(). 当对象可见时每个相机都会调用它。

  7.4 OnPreRender(). 在相机渲染场景之前被调用。

  7.5 OnRenderObject(). 在相机场景渲染完成后调用。

  7.6 OnPostRender(). 在相机渲染完场景之后调用。

  7.7 OnRenderImage(). 在所有渲染完成后调用,加上后期图片处理效果。

  7.8 OnGUI(). 在渲染和处理GUI事件时调用。

  7.9 OnDrawGizmos(). 在绘制被选中的gizmos时调用。

8 Quitting

   8.1 OnApplicationPause()/OnApplicationFocus()/ OnApplicationQuit(). 当玩家暂停/获得或失去焦点/应用退出时发送到所有的游戏对象。

   8.2 OnDisable(). 当对象变为不可用或非激活状态时调用。

   8.3 OnDestroy(). 当MonoBehaviour将被销毁时调用。

   

 

转载于:https://www.cnblogs.com/Q9413/p/3519858.html

你可能感兴趣的:(MonoBehaviour函数执行顺序)