MonoBehaviour常用方法解釋
1.Start()
在Update方法被調(diào)用之前開(kāi)始調(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()開(kāi)始之前聲明某些變量或者游戲的狀態(tài)標(biāo)記符慎璧。同樣床嫌,Awake也是在MonoBehaviour聲明周期內(nèi)被調(diào)用一次。Awake在所有的對(duì)象(個(gè)人認(rèn)為是GameObject)實(shí)例化后被調(diào)用胸私,因此綁定這個(gè)腳本的對(duì)象能與其他對(duì)象之間相互作用厌处,例如,同過(guò)GameObjectFindWithTag方法查找其他對(duì)象岁疼。
3.Update()
在Start方法執(zhí)行過(guò)后阔涉,游戲的每一幀都在調(diào)用此方法。
4.FixedUpdate()
每一幀都在調(diào)用此方法。當(dāng)處理Rigdibody時(shí)FixedUpdate應(yīng)該代替Update方法洒敏,比如龄恋,當(dāng)一個(gè)物體需要增加一個(gè)力時(shí),應(yīng)該將這個(gè)力的代碼寫(xiě)在FixedUpdate()里面凶伙。
void FixedUpdate() {
rigidbody.AddForce(Vector3.up);
}
5.LateUpdate()
每一幀都在調(diào)用此方法郭毕。當(dāng)每一幀的Update方法全部執(zhí)行完后,此方法開(kāi)始被調(diào)用函荣。舉個(gè)例子來(lái)說(shuō)吧显押,當(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è)場(chǎng)景時(shí)兽肤,保證綁定此腳本的對(duì)象的內(nèi)存不被釋放掉。也就是說(shuō)綁定此腳本的GameObject在下一個(gè)場(chǎng)景中依然存在绪抛。