Unity3D 指令碼生命週期

2021-09-17 18:38:57 字數 901 閱讀 2149

指令碼的生命週期,就是掛載到的遊戲物體「從出生到死亡」,所經歷的一些事件。這些生命週期事件,是一些特定的方法,且是由 unity 引擎事先定義好的,在遊戲的執行過程中,由引擎自動呼叫。

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.注意事項

生命週期事件,全部是由系統定義好的,且系統會自動呼叫。

系統呼叫這些事件的順序,和我們**裡面的書寫順序無關。

**:

Unity3D指令碼生命週期

說明 圖來自官方文件,測試時有點出入 無論是可見物體還是相機的onrenderobject都是在相機的onpostrender之後執行 onprecull onprerender,onpostrender,onpostrender,onrenderimage這幾個go上有相機才執行 onrender...

Unity3D 指令碼生命週期

awake 指令碼被載入時呼叫 onenable 當物件變為可用或啟用狀態 start 判斷之前有沒有執行過,沒有執行過則執行一次,如果被執行過則不會執行,第一次update之前呼叫。fixedupdate 固定的時間間隔呼叫,不受幀率的影響 update 每次渲染新的一幀時呼叫更新,更新頻率和裝置...

Unity3D指令碼生命週期

說明 圖來自官方文件,測試時有點出入 無論是可見物體還是相機的onrenderobject都是在相機的onpostrender之後執行 onprecull onprerender,onpostrender,onpostrender,onrenderimage這幾個go上有相機才執行 onrender...