1.Unity腳本生命週期

Unity中腳本按照一定的生命週期執行

1.Awake

最早執行,在GameObejct對象的數據和狀態的初始化後執行,只會觸發一次。

tips:GameObject實例化到場景中後在激活的狀態下才會初始化,如果GameObject從來未激活,它的腳本上的Awake永遠不會被調用。

即時觸發,GameObject第一次active的時候調用。

2.Start

在腳本第一次調用Update之前調用,只會觸發一次。

3.OnEnable

在腳本狀態由disabled變爲enabled狀態是觸發一次,Unity內部可能將腳本初始置爲diabled,所以如果我們實例化一個激活的GameObject,並且在掛上一個enabled了的腳本後把它加入場景會調用一次OnEnable,並且早於Start。

4.OnDisable

在腳本由enabled狀態變爲disabled狀態的時候會調用。

tips:OnEnable和OnDisable事件的觸發是即時的,並且這兩個事件是綜合考慮GameObject的active狀態和腳本的enabled狀態的。所以不要在OnEnable裏面把腳本設置爲disabled同時在OnDisable中把腳本設置爲enabled,會導致死循環!!!

5.Update

在每一幀調用,用於實現各種行爲邏輯

6.LateUpdate

在每一幀調用,但是是在Update之後觸發。常用的一種情況是相機跟隨移動角色:角色移動邏輯在Update裏面實現,相機跟隨邏輯在LateUpdate裏面實現。

7.OnDestroy

在組件被銷燬時調用,只有GameObject被激活過纔會觸發。


發佈了34 篇原創文章 · 獲贊 8 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章