MonoBehaviour常用方法解釋

1.Start()

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

2.Awake()

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

3.Update()

在Start方法執(zhí)行過后,游戲的每一幀都在調(diào)用此方法。

4.FixedUpdate()

每一幀都在調(diào)用此方法。當(dāng)處理Rigdibody時(shí)FixedUpdate應(yīng)該代替Update方法,比如,當(dāng)一個(gè)物體需要增加一個(gè)力時(shí),應(yīng)該將這個(gè)力的代碼寫在FixedUpdate()里面。

void FixedUpdate() {

rigidbody.AddForce(Vector3.up);

}

5.LateUpdate()

每一幀都在調(diào)用此方法。當(dāng)每一幀的Update方法全部執(zhí)行完后,此方法開始被調(diào)用。舉個(gè)例子來說吧,當(dāng)一個(gè)角色移動(dòng)而攝像機(jī)也要跟著移動(dòng)時(shí),攝像機(jī)的處理就應(yīng)該在LateUpdate()里面了。

6.OnGUI()

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

7.DontDestroyOnLoad()

進(jìn)入另一個(gè)場景時(shí),保證綁定此腳本的對象的內(nèi)存不被釋放掉。也就是說綁定此腳本的GameObject在下一個(gè)場景中依然存在。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容