指令碼的生命週期,就是掛載到的遊戲物體「從出生到死亡」,所經歷的一些事件。這些生命週期事件,是一些特定的方法,且是由 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...