Unity 生命週期函式,事件函式

2021-10-02 23:26:58 字數 2646 閱讀 4349

生命週期也叫訊息機制

1.什麼是生命週期函式:     unity 指令碼從喚醒到銷毀的過程。

過程:初始階段 -

>

物理階段 -

>

輸入事件 -

>

遊戲邏輯 -

>

場景渲染 -

>

結束階段

2.生命週期(也叫訊息機制)什麼時候執行

當滿足某種條件 unity 引擎自動呼叫的函式。

如:物體載入時 awake開始執行

3.生命週期的函式名藍色所以要注意大小寫的區分不能輸錯

reset:當拖動指令碼到元件欄的時候,還有物體被reset的時候會呼叫

void reset()

awake

() 喚醒:

指令碼掛載在物體上,物體載入時立即呼叫一次且只執行一次,常用於遊戲開始前進行初始化(無論當前元件是否啟用)

void awake()

onenable

() 當可用:每當指令碼物件啟用時呼叫(可重複呼叫)。

void onenable()

start

() 開始:指令碼掛載在物體上,物體載入且 指令碼物件啟用時被調1次。

常用於資料或遊戲邏輯初始化,執行時機晚於awake。

void start ()
1.fixedupdate固定更新:執行時機:指令碼啟用後,固定時間被呼叫,適用於對遊戲物件做物理操作,跟物理相關的。

設定更新頻率:

「edit」-->「project setting」-->「time」--> 「fixed timestep」

值,預設為0.02s.

特性:不受渲染幀的影響,渲染時間固定,受時間縮放time.timescale的影響

void fixedupdate()

2.oncollision***碰撞:執行條件:掛載指令碼的物件必須有rigidbody和collider,且和另乙個collider物體發生接觸

oncollisionenter:發生碰撞時觸發一次

oncollisionexit:退出碰撞是發生一次

oncollisionstay:發生碰撞後每幀觸發

當滿足碰撞條件時呼叫。

3.ontrigger*** 觸發:

當滿足觸發條件時呼叫。

4.oncontrollercolliderhit(controllercolliderhit hit) 角色控制器觸發

onmouseenter 滑鼠移入:

滑鼠移入到當前 collider 時呼叫。

onmouseover 滑鼠經過:

滑鼠經過當前 collider 時呼叫。

onmouseexit 滑鼠離開:

滑鼠離開當前 collider 時呼叫。

onmousedown 滑鼠按下:

滑鼠按下當前 collider 時呼叫。

onmouseup 滑鼠抬起:

滑鼠在當前 collider 上抬起時呼叫。

update 更新:

// 實現時機:每幀(約

0.02s

)更新,受渲染幀影響

// 適用性:遊戲的邏輯

// 特性:受渲染幀影響,機器效能越高,渲染幀間隔越短,時間不固定

指令碼啟用後,每次渲染場景時呼叫,頻率與裝置效能及渲染量有關。

lateupdate 延遲更新:

// 適用性:跟隨的邏輯

// 特性:晚於

update

在 update 函式被呼叫後執行,適用於跟隨邏輯。

onbecamevisible 當可見:

當 mesh renderer 在任何相機上可見時呼叫。

onbecameinvisible 當不可見:

當 mesh renderer 在任何相機上都不可見時呼叫。

ondisable 當不可用:

物件變為不可用或附屬遊戲物件非啟用狀態時此函式被呼叫。

ondestroy 當銷毀:

當指令碼銷毀或附屬的遊戲物件被銷毀時被呼叫。

應用程式退出時被呼叫。

作用:除錯方式,將訊息列印至控制台console

生命週期函式

另外說一下生命週期函式 virtual void onenter virtual void onentertransitiondidfinish virtual void onexit 這3個是遇到對應情況時呼叫的。在cpp檔案裡如果把它們示例了,你可以在開始時放 結束時關閉 等等。如果他下面的之類...

下生命週期函式

另外說一下生命週期函式 virtual void onenter virtual void onentertransitiondidfinish virtual void onexit 這3個是遇到對應情況時呼叫的。在cpp檔案裡如果把它們示例了,你可以在開始時放 結束時關閉 等等。如果他下面的之類...

React生命週期函式

說來慚愧,準大四計算機專業學生黨第一次寫技術部落格。以前學東西沒有記錄的習慣總是容易忘記。最近在看老師的教程學習react框架,想寫點東西記錄一下學習的過程。若寫的不好,各位大佬見諒了,歡迎指正。什麼是生命週期函式?生命週期函式就是元件某一時刻會自動執行的函式。initialzation 初始化 m...