Unity常用的生命周期函数

unity常用的生命周期函数

    • Reset()函数
    • Awake()函数
    • OnEnable()函数
    • Start()函数
    • FixedUpdate()函数
    • OnTriggerXXX(Collider other)函数
    • OnCollisionXXX (Collision collisionInfo)函数
    • OnMouseXXX()函数
    • Update ()函数
    • LateUpdate () 函数
    • OnGUI() 函数
    • OnDisable ()函数
    • OnDestroy()函数

所有的生命周期函数都派生自MonoBehaviour

Reset()函数

Reset()函数是在用户在点击Inspector的Reset按钮时或着在首次挂载组件时被调用的一个函数,常用于给组件设置为给定默认值。

Awake()函数

Awake()函数在脚本实例被载入时就被调用,不管游戏对象是否被激活都会被调用,在整个游戏当中只会被调用一次和构造函数差不多,运行于Start()函数之前,Awake()主要被用于初始化游戏状态或变量。

OnEnable()函数

当对象变为启用和激活时,将调用此函数。
OnEnable不能用于协同程序。

Start()函数

在第一次调用Update方法之前时,在这一帧之前调用Start()。
与Awake函数一样,Start在脚本的生命周期中只调用一次。但是,无论脚本是否已启用,都会在初始化脚本对象时调用Awake。如果在初始化时未启用脚本,则可能无法调用Start()函数 。
在调用任何对象的Start函数之前,将在场景中的所有对象上调用Awake函数。

FixedUpdate()函数

如果启用了MonoBehaviour,则每个固定帧率帧都会调用此函数(可设置帧率步长)。
在处理Rigidbody时,应该使用FixedUpdate而不是Update 。例如,当向刚体添加力时,必须在FixedUpdate内的每个固定帧上应用力,而不是在Update中的每个帧。

OnTriggerXXX(Collider other)函数

进入触发器void OnTriggerEnter (Collider other) 当Collider(碰撞体)进入trigger(触发器)时调用OnTriggerEnter。

逗留触发器void OnTriggerStay (Collider other) 当碰撞体接触触发器时,OnTriggerStay将在每一帧被调用。

退出触发器void OnTriggerExit (Collider other)当Collider(碰撞体)停止触发trigger(触发器)时调用OnTriggerExit。

OnCollisionXXX (Collision collisionInfo)函数

Collider.OnCollisionEnter
当此对撞机/刚体开始接触另一个刚体/对撞机时,将调用OnCollisionEnter。

Collider.OnCollisionExit
当此对撞机/刚体停止接触另一个刚体/对撞机时,将调用OnCollisionExit。

Collider.OnCollisionStay
对于每个碰撞刚体/对撞机逗留与另一个碰撞器/刚体时,OnCollisionStay每帧调用一次。

OnMouseXXX()函数

MonoBehaviour.OnMouseDown
当用户在GUIElement或Collider上按下鼠标按钮时,将调用OnMouseDown。

MonoBehaviour.OnMouseDrag
当用户单击GUIElement或Collider并且仍然按住鼠标时,将调用OnMouseDrag。

MonoBehaviour.OnMouseEnter
当鼠标进入GUIElement或Collider时调用。

MonoBehaviour.OnMouseExit
当鼠标不再位于GUIElement或Collider上时调用。

MonoBehaviour.OnMouseOver
鼠标悬停在GUIElement或Collider上时调用每一帧。

MonoBehaviour.OnMouseUp
用户释放鼠标按钮时调用OnMouseUp。

Update ()函数

如果启用了MonoBehaviour,则每一帧被调用。

Update是实现任何类型的游戏脚本最常用的功能。不是每个MonoBehaviour脚本都需要Update。

LateUpdate () 函数

如果启用了MonoBehaviour,则每帧都会调用LateUpdate 。

在调用所有Update函数后调用LateUpdate。这对于顺序脚本执行很有用。例如,跟随摄像机应始终在LateUpdate中实现,因为它跟踪可能已在Update内移动的对象。

OnGUI() 函数

OnGUI调用用于呈现和处理GUI事件。
这意味着您的OnGUI实现可能会在每个帧中被调用多次(每个事件一次调用)。

OnDisable ()函数

当行为被禁用时,将调用此函数。

当对象被销毁时也可以调用它,并且可以用于任何清理代码。编译完成后重新加载脚本时,将调用OnDisable,然后在加载脚本后调用OnEnable。

OnDestroy()函数

销毁附加的行为将导致游戏或场景启动OnDestroy。

场景或游戏结束时调用OnDestroy。任何方法都会导致调用OnDestroy。从编辑器内部运行时,停止播放模式将结束应用程序。当这一结束时,将执行OnDestroy。此外,如果关闭场景并加载新场景,则将进行OnDestroy调用。
当作为独立应用程序构建时,OnDestroy会在场景结束时进行调用。场景结束通常意味着加载了新场景。
OnDestroy仅在以前处于活动状态的游戏对象上调用。

你可能感兴趣的:(unity)