Unity 生命週期(Unity 5.6)

(一)簡介

(1)所有的生命週期函數都派生自MonoBehaviour,需要繼承 MonoBehaviour 類才能使用;

(2)生命週期函數全部都是由系統定義好的,系統會自動調用,且調用順序和我們在代碼裏面的書寫順序無關;

(二)執行順序

編輯器 ⟶ 初始化 ⟶ 物理系統 ⟶ 輸入事件 ⟶  遊戲邏輯 ⟶  場景渲染 ⟶  GUI渲染

⟶  物體狀態(激活/禁用)⟶ 物體銷燬 ⟶ 應用結束 

(三)常用的生命週期函數

函數  
Reset()

(1)用戶點擊檢視面板的Reset按鈕或者首次添加該組件時被調用;

(2)常用於給組件恢復默認值;

(3)只在編輯模式下被調用

Awake()

(1)Awake用於在遊戲開始之前初始化變量或設置遊戲狀態

(2)Awake像構造函數一樣只被調用一次

OnEnable()

(1)僅在對象處於激活狀態時調用

(2)常用於給組件恢復默認值;

(3)OnEnable不能用於協同程序;

Start()  
FixedUpdate() 在處理Rigidbody時,應該使用FixedUpdate而不是Update 
OnTriggerXXX()

(1)進入觸發器:OnTriggerEnter(Collider other);

(2)逗留觸發器:OnTriggerStay(Collider other);

(3)離開觸發器:OnTriggerExit(Collider other);

OnCollisionXXX()

(1)碰撞開始:OnCollisionEnter(Collision collisionInfo);

(2)碰撞逗留:OnCollisionStay(Collision collisionInfo);

(3)碰撞結束:OnCollisionExit(Collision collisionInfo);

OnMouseXXX()

(1)鼠標進入:OnMouseEnter();

(2)鼠標經過:OnMouseOver();

(3)鼠標按下:OnMouseDown();

(4)鼠標拖拽:OnMouseDrag();

(5)鼠標擡起:OnMouseUp();

(6)鼠標退出:OnMouseExit();

Update() 循環調用,每幀調用一次;
LateUpdate() 當物體在Update裏移動時,跟隨物體的相機可以在LateUpdate裏實現;
OnGUI() 用於呈現和處理GUI事件;
OnDisabled() 當對象變爲不可用或非激活狀態時此函數被調用;
OnDestroy()  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章