第乙個疑惑:awake與start的區別
(1)awake是在所有例項被載入後,當指令碼所掛載的例項的active第一次為true時呼叫。也就是說,當指令碼掛載的這個例項第一次在場景中被使用或展示。與指令碼的例項是否被允許使用無關(onenable == true)無關。
(2)start函式在onenable函式之後執行,onenable是允許指令碼執行,start函式只執行一次,相當於是說,start函式是在指令碼第一次被允許執行後執行。
(4)第一階段:初始化階段---------------------------------1
1.awake()
2.onenable
3.start
第二階段:物理迴圈--------------------------------------------2
1.fixedupdate:物理迴圈操作新增在這個函式裡
2.yield waitforfixedupdate 攜程中的物理操作
是0.02秒跑一次,可能會比其他的快或慢
3.ontriggerenter/stay/exit
4.oncllisionenter/stay/exit
第三階段:滑鼠資訊輸入-------------------------------------------3
onmouse+?
第四階段:遊戲邏輯迴圈——一幀跑一次----------------------4
updata
yiled null
yield waitforseconds
yield www(http 舊的api)
yield startcoroutine
lateupdata(相機操作適合)
第五階段:scenerender
onprecull(攝像機指令碼掛載,某渲染被剔除)
--其他的在圖中有
第六階段:小組件的渲染
ondrawgizmos
第七階段:ui渲染-----------------------------------------5
ongui
第八階段:幀結束-----------------------------------------6
yield waitforendofframe
第九節段:遊戲暫停或退出
第十階段:指令碼不允許執行----------------------------------------7
ondisable
第十一階段:掛載物件刪除,遊戲結束--------------------------8
Unity 八)指令碼生命週期
不能在子執行緒中訪問主線程成員 執行時機 建立遊戲物件 立即執行 執行1次 作用 初始化 private void awake 先執行awake再start,先執行所有awake再所有start 執行時機 建立遊戲物件 指令碼啟用才執行 執行1次 作用 初始化 private void start ...
Unity 八)指令碼生命週期
不能在子執行緒中訪問主線程成員 執行時機 建立遊戲物件 立即執行 執行1次 作用 初始化 private void awake 先執行awake再start,先執行所有awake再所有start 執行時機 建立遊戲物件 指令碼啟用才執行 執行1次 作用 初始化 private void start ...
Unity指令碼生命週期
1.awake 喚醒事件 只執行一次 2.onenable 啟用事件 只執行一次 當指令碼元件被啟用的時候執行一次.3.start 開始時間 只執行一次 4.fixedupdate 固定更新事件,執行 n次,0.02 秒執行一次.所有物理元件相關的更新都在這個事件中處理.5.update 更新事件,...