Awake()在MonoBehavior創建后就立刻調用,在腳本實例的整個生命周期中,Awake函數僅執行一次;如果游戲對象(即gameObject)的初始狀態為關閉狀態,那么運行程序,Awake函數不會執行;如果游戲對象的初始狀態為開啟狀態,那么Awake函數會執行;值得注意的一點是,Awake函數的執行與否與腳本實例的狀態(啟用或禁用)並沒有關系,而是與腳本實例所綁定的游戲對象的開關狀態有關。如果重新加載場景,那么場景內Awake函數的執行情況重新遵循上述兩點。
Start()將在MonoBehavior創建后在該幀Update()第一次執行前被調用;Start()函數只在腳本實例被啟用時才會執行;Start函數總是在Awake函數之后執行。如果游戲對象開啟了,對象上綁定的腳本實例被禁用了,那么Start函數不會執行。這是Start函數的特點,只有在腳本實例被啟用時它才會執行,並且Start函數只會在腳本實例首次被開啟時才會執行。如果是已經開啟過的腳本實例被關閉后再次開啟,那么Start函數不會再次執行。
一般開發中都是在Awake函數中獲取游戲對象或者腳本實例的信息,然后在Start函數中進行一些獲取之后的初始化設置。
Awake、OnEnable、Start,都是游戲開始運行前就調用的方法。
GameObject的Activity為true,腳本的enable為true時,其先后順序為:Awake、OnEnable、Start;
GameObject的Activity為true,腳本的enable為false時,只運行Awake;
GameObject的Activity為false時,以上都不調用,OnDisable()被調用;
OnDestory:物體被刪除時調用。
Update:當MonoBehaviour啟用時,其Update在每一幀被調用;
LateUpdate:當Behaviour啟用時,其LateUpdate在每一幀被調用
FixedUpdate:這個函數會在每個固定的物理時間片被調用一次.這是放置游戲基本物理行為代碼的地方。UPDATE之后調用。
Reset:Reset是在用戶點擊檢視面板的Reset按鈕或者首次添加該組件時被調用.此函數只在編輯模式下被調用.Reset最常用於在檢視面板中給定一個最常用的默認值.
OnGui:這個函數會每幀調用好幾次(每個事件一次),GUI顯示函數只能在OnGui中調用