Unity中幾個默認函數辨析


首先,這張圖一定要好好保存好,特別全!!!

reset應該就是Unity上面那個播放鍵吧。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Awake() 在MonoBehavior創建後就立刻調用;

在腳本實例的整個生命週期中,Awake函數僅執行一次;

如果遊戲對象(即gameObject)的初始狀態爲關閉狀態,那麼運行程序,Awake函數不會執行;

如果遊戲對象的初始狀態爲開啓狀態,那麼Awake函數會執行;

*值得注意的一點是,Awake函數的執行與否與腳本實例的狀態(啓用或禁用)並沒有關係,而是與腳本實例所綁定的遊戲對象的開關狀態有關。

如果重新加載場景,那麼場景內Awake函數的執行情況重新遵循上述兩點。

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Start()將在MonoBehavior創建後在該幀Update()第一次執行前被調用;

Start()函數只在腳本實例被啓用時纔會執行;

Start函數總是在Awake函數之後執行。

如果遊戲對象開啓了,對象上綁定的腳本實例被禁用了,那麼Start函數不會執行。

Start函數只會在腳本實例首次被開啓時纔會執行。

如果是已經開啓過的腳本實例被關閉後再次開啓,那麼Start函數不會再次執行。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一般開發中都是在Awake函數中獲取遊戲對象或者腳本實例的信息,然後在Start函數中進行一些獲取之後的初始化設置。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Awake、OnEnable、Start,都是遊戲開始運行前就調用的方法。

GameObject的Activity爲true,腳本的enable爲true時,其先後順序爲:Awake、OnEnable、Start;

GameObject的Activity爲true,腳本的enable爲false時,只運行Awake;

GameObject的Activity爲false時,以上都不調用,OnDisable()被調用;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
OnDestory:物體被刪除時調用。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Update:當MonoBehaviour啓用時,其Update在每一幀被調用;

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LateUpdate:當Behaviour啓用時,其LateUpdate在每一幀被調用

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

FixedUpdate:這個函數會在每個固定的物理時間片被調用一次.這是放置遊戲基本物理行爲代碼的地方。UPDATE之後調用。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Reset:Reset是在用戶點擊檢視面板的Reset按鈕或者首次添加該組件時被調用.此函數只在編輯模式下被調用.Reset最常用於在檢視面板中給定一個最常用的默認值.

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

OnGui:這個函數會每幀調用好幾次(每個事件一次),GUI顯示函數只能在OnGui中調用。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

OnBecameVisible:可以使用OnBecameVisible()和OnBecameVisible(),來控制物體的update()函數的執行以減少開銷

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章