MonoBehaviour常用方法解釋

1.Start()

在Update方法被調用之前開始調用Start方法,而且Start方法在整個MonoBehaviour生命周期內只被調用一次。Awake和Start不同的地方在于Start方法僅僅在腳本初始化后被調用,這樣允許你延遲加載任何代碼,直到代碼真正被使用時。Awake方法總是在Start方法執行之前被調用,這樣允許你初始化腳本代碼。

2.Awake()

當腳本被加載后立即調用Awake方法,這個方法通常在Start()開始之前聲明某些變量或者游戲的狀態標記符。同樣,Awake也是在MonoBehaviour聲明周期內被調用一次。Awake在所有的對象(個人認為是GameObject)實例化后被調用,因此綁定這個腳本的對象能與其他對象之間相互作用,例如,同過GameObjectFindWithTag方法查找其他對象。

3.Update()

在Start方法執行過后,游戲的每一幀都在調用此方法。

4.FixedUpdate()

每一幀都在調用此方法。當處理Rigdibody時FixedUpdate應該代替Update方法,比如,當一個物體需要增加一個力時,應該將這個力的代碼寫在FixedUpdate()里面。

void FixedUpdate() {

rigidbody.AddForce(Vector3.up);

}

5.LateUpdate()

每一幀都在調用此方法。當每一幀的Update方法全部執行完后,此方法開始被調用。舉個例子來說吧,當一個角色移動而攝像機也要跟著移動時,攝像機的處理就應該在LateUpdate()里面了。

6.OnGUI()

OnGUI()在每一幀被調用數次(several times),假如MonoBehaviour的enabled屬性設置為false時,OnGUI()就失去作用了。

7.DontDestroyOnLoad()

進入另一個場景時,保證綁定此腳本的對象的內存不被釋放掉。也就是說綁定此腳本的GameObject在下一個場景中依然存在。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容