常用腳本事件:
Update:每幀調(diào)用一次
Start:在第一次Update執(zhí)行前調(diào)用
Awake:腳本實例在創(chuàng)建時調(diào)用
FixedUpdate:每個固定物理時間間隔調(diào)用一次
LateUpdate:每幀調(diào)用一次,在Update之后
MonoBehaviour類:
MonoBehaviour類是uniyt中非常重要的類,定義了基本的腳本行為,所有腳本類均需要從它直接或間接繼承。MonoBehaviour還定義了對各種特定事件的響應(yīng)函數(shù),這些函數(shù)名均以O(shè)n作為開頭,下面是一些常用的事件響應(yīng)函數(shù)。
OnMouseEnter:鼠標(biāo)移入GUI控件或碰撞體時調(diào)用
OnMouseOver:鼠標(biāo)停留~~~
OnMouseExit:鼠標(biāo)移除~~~
OnMouseDown:鼠標(biāo)按下~~~~
OnMouseUp:鼠標(biāo)釋放~~~
OnTriggerEnter:當(dāng)其他碰撞體進(jìn)入觸發(fā)器時調(diào)用
OnTriggerExit:~~離開~~
OnTriggerStay:~停留~~~
OnCollisionEnter:當(dāng)碰撞體或者剛體與其他碰撞體或者剛體接觸時調(diào)用
OnCollisionExit:~~~~~~離開時~
OnCollisionStay:~~~~~~保持接觸時~
OnControllerColliderHit:當(dāng)控制器移動時與碰撞體發(fā)生碰撞時調(diào)用
OnBecameVisible:對于任意一個相機(jī)可見時調(diào)用
OnBecameInvisible:對于任意一個相機(jī)不可見時調(diào)用
OnEnable:對象啟用或者激活時調(diào)用
OnDisable:對象禁用或者取消激活時調(diào)用
OnDestory:腳本銷毀時調(diào)用
OnGUI:渲染GUI和處理GUI消息時調(diào)用
腳本和組件交互:
一個對象由若干個組件組成,通常需要利用腳本來訪問對象的各種組件并設(shè)置組件的參數(shù)。對于系統(tǒng)內(nèi)置的常用組建,Unity提供了非常便利的訪問方式,只需要在腳本里訪問組件對應(yīng)的成員變量即可,這些成員變量定義在MonoBehaviour中并被腳本繼承了下來。
訪問場景中的對象:
在unity3d開發(fā)中,腳本不但需要訪問腳本所在對象的組件,還經(jīng)常需要訪問其他的對象:
1.通過名稱來查找:使用函數(shù)GameObject.Find,如果場景中存在指定名稱的對象,則返回該對象的引用,否則返回null,如果存在多個同名的對象,則返回第一個對象的引用。
GameObject cube = GameObject.Find("MyCube");
2.通過標(biāo)簽來查找:GameObject.FindWithTag,如果場景中存在指定標(biāo)簽的對象,則返回該對象的引用,否則返回null,如果多個對象使用同一個標(biāo)簽,則返回第一個對象的引用。
注意:與GetComponent一樣,GameObject.Find和GameObject.FindWithTag也是比較耗時的參數(shù),因此不建議在update函數(shù)中調(diào)用它們,而是在初始化中查找一次后保存在變量中。
協(xié)同程序(Coroutine):
Coroutine也成為協(xié)同程序或協(xié)程,可以和主程并行運行,和多線程類似,但是在任一制定時刻只會有一個協(xié)同程序在運行,別的協(xié)同程序則會掛起??梢杂脕韺崿F(xiàn)讓一段程序等待一段時間后繼續(xù)運行的效果。
協(xié)同程序(Coroutine)的相關(guān)函數(shù)如下:
StartCoroutine:啟動一個協(xié)同程序
StopCoroutine:停止一個協(xié)同程序
StopAllCoroutine:終止所有協(xié)同程序
WaitForSeconds:等待若干秒。
WaitForFixedUpdate:等待知道下一次FiexdUpdate調(diào)用。
更多unity2018的功能介紹請到paws3d爪爪學(xué)院查找。
熱門工具 換一換