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被激活過纔會觸發。