Unity基础之MonoBehaviour的生命周期函数等成员函数

Reset():在编辑器状态下执行,点击脚本组件右边的Reset按钮会执行此函数。

Awake():程序运行前执行,只执行一次

OnEnable():脚本激活时执行,每次激活一次都会执行一次。

Start():次于Awake,程序开始运行时执行,只执行一次。

FixedUpdate():固定帧更新函数,默认间隔0.02s执行一次,可以在TimeSetting中修改。一般用于做物理更新。

yield WaitForFixedUpdate 协程中yield等待操作代码。

OnTriggerEnter():触发器进入状态函数,每次与一个碰撞体接触时执行一次。

OnTriggerStay():触发器持续触发函数,持续与一个碰撞体交错,持续执行。

OnTriggerExit():触发器离开状态函数,每次与一个碰撞体离开时执行一次。

OnCollisionEnter():碰撞器进入状态函数,每次与一个碰撞体开始碰撞时执行一次。

OnCollisionStay()碰撞器持续触发函数,持续与一个碰撞体碰撞,持续执行。

OnCollisionExit():碰撞器离开状态函数,每次与一个碰撞体离开时执行一次。

OnMouseEnter():当鼠标开始进入到GUIElement(GUI元素)或Collider(碰撞体)中时调用一次。

OnMouseOver:当鼠标悬浮在GUIElement(GUI元素)或Collider(碰撞体)上时调用

OnMouseDown:当鼠标在GUIElement(GUI元素)或Collider(碰撞体)上按下鼠标时调用一次。

OnMouseUp:当用户释放鼠标按钮时调用一次。

OnMouseUpAsButton:只有当鼠标在同一个GUIElement或Collider按下,在释放时调用一次。

OnMouseDrag:当鼠标拖拽GUIElement(GUI元素)或Collider(碰撞体)时持续调用。

OnMouseExit:当鼠标移出GUIElement(GUI元素)或Collider(碰撞体)上时调用一次。

Update():更新函数,间隔时间不固定,上一帧执行时间为Time.deltaTime。一般用于做操作控制的判断。

yield null:协程中yield等待操作代码。

yield WaitForSeconds(float seconds):协程中yield 等待指定秒之后执行。

yield WWW:协程中yield 等待WWW完毕后执行。

yield StartCoroutine:协程中yield 等待开启另一段协程执行。

LateUpdate():次于Update的更新函数,在Update执行后执行。常用来做摄像机的更新。

OnWillRenderObject:当渲染物体之前执行,如果对象可见每个相机都会调用它。

OnPreCull:在相机消隐场景之前被调用。

OnBecameVisible:当renderer(渲染器)在任何相机上可见时调用。

OnBecameInvisible:当renderer(渲染器)在任何相机上都不可见时调用。

OnPreRender:在相机渲染场景之前被调用。

OnPostRender:在相机完成场景渲染之后被调用。

OnRenderObject:在相机场景渲染完成后被调用。

OnRenderImage:当完成所有渲染图片后被调用,用来渲染图片后期效果。

OnDrawGizmosSelected:如果你想在物体被选中时绘制gizmos,执行这个函数。

OnDrawGizmos:如果你想绘制可被点选的gizmos,执行这个函数。

OnGUI():GUI渲染函数,多次执行,执行频率为Update的2倍。

yield WaitForEndOfFrame:协程yield等待当前帧执行完毕后执行。

OnApplicationPause:当玩家暂停时执行。

OnApplicationFocus:当玩家获得或失去焦点时执行。

OnDisable():相对于OnEnable,当脚本被关闭激活前执行,每次关闭激活都会执行一次。

OnDestroy():销毁脚本所挂载的游戏对象时执行的函数,一般销毁时会先执行OnDisable后执行此函数,只执行一次。

OnApplicationQuit():当程序退出时执行,只执行一次,当执行Application.Quit()时,次于OnDestroy()。

你可能感兴趣的:(Unity3D,C#)