这些生命周期事件,是一些特定的方法,且是由 Unity 引擎事先定义好的,在程序的运行过程中,由引擎自动调用。全部定义在 MonoBehaviour 这个类中
1.Awake() ※
唤醒事件,只执行一次。
2.OnEnable()
启用事件,只执行一次。当脚本组件被启用的时候执行一次。
3.Start() ※
开始事件,只执行一次。
4.FixedUpdate() ※
固定时间更新事件,执行 N 次,0.02 秒执行一次。不受电脑帧率影响
所有物理组件相关的更新都在这个事件中处理。
5.Update() ※
更新事件,执行 N 次,每帧执行一次。受电脑帧率影响
6.LateUpdate()
稍后更新事件,执行 N 次,在 Update 事件执行完毕后再执行。
7.OnGUI()
GUI 渲染事件,执行 N 次,执行的次数是 Update 事件的两倍。
8.OnDisable()
禁用事件,执行一次。在 OnDestroy 事件前执行。
或者当该脚本组件被“禁用”后,也会触发该事件。
9.OnDestroy() ※
销毁事件,执行一次。当脚本所挂载的游戏物体被销毁时执行。
10.注意事项
生命周期事件,全部是由系统定义好的,且系统会自动调用。
系统调用这些事件的顺序,和我们代码里面的书写顺序无关。

我们在脚本里测试一下:
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour
{
    /// Add a context menu named "Do Something" in the inspector
    /// of the attached script.
    /// 
    void Awake()
    {
        Debug.Log("Awake...");
    }
    void OnEnable()
    {
        Debug.Log("OnEnable...");
    }
    void Start()
    {
        Debug.Log("Start...");
    }
    void FixedUpdate()
    {
        Debug.Log("FixedUpdate...");
    }
    void Update()
    {
        Debug.Log("Update...");
    }
    void LateUpdate()
    {
        Debug.Log("LateUpdate...");
    }
    void OnGUI()
    {
        Debug.Log("OnGUI...");
    }
    void OnDisable()
    {
        Debug.Log("OnDisable...");
    }
    void OnDestroy()
    {
        Debug.Log("OnDestroy...");
    }
}
 










