1_Unity學習筆記,就讓我們先來說說MonoBehaviour吧!
是的,我這邊並不會告訴各位怎麼安裝Unity請自己上網爬文,這裡從C#開始出發告訴各位如何使用Unity。
請把在下我當作業餘的來看看吧,這裡只會記下我的經驗。
關於流程圖的部分就請各位自由爬文,在下可以算是個懶人哈哈!
總之在這邊稍微介紹一下,一般來說看起來會像是:
的流程,每個場景開始,會先執行每個物件身上的Awake(),接著執行每個物件身上的Start()
都執行完後將會迴圈所有物件依照如上圖的順序。
FixedUpdate最重要的是他每次間隔都是絕對的,在Edit > Project Settings > Time 可以找到
Update則是針對每一禎都會執行,因為禎數會隨著遊戲效能而有所不同,因此Update的間隔都不一定,可以利用Time.deltaTime取得每一禎的時候再秒數的比例。
LateUpdate就跟Update一樣,不過會觸發在Update後面。
另外介紹一些我個人比較常用到的:
請把在下我當作業餘的來看看吧,這裡只會記下我的經驗。
Awake()Start()Update()FixedUpdate()LateUpdate()
通常會看到以上這種東東,來來來來,這是甚麼呢?關於流程圖的部分就請各位自由爬文,在下可以算是個懶人哈哈!
總之在這邊稍微介紹一下,一般來說看起來會像是:
Awake()
↓
Start()
↓
FixedUpdate()←←
↓ ↑
Update() ↑
↓ ↑
LateUpdate()→→↑
的流程,每個場景開始,會先執行每個物件身上的Awake(),接著執行每個物件身上的Start()
都執行完後將會迴圈所有物件依照如上圖的順序。
FixedUpdate最重要的是他每次間隔都是絕對的,在Edit > Project Settings > Time 可以找到
Update則是針對每一禎都會執行,因為禎數會隨著遊戲效能而有所不同,因此Update的間隔都不一定,可以利用Time.deltaTime取得每一禎的時候再秒數的比例。
LateUpdate就跟Update一樣,不過會觸發在Update後面。
另外介紹一些我個人比較常用到的:
| OnApplicationFocus | 當遊戲被縮小或失去焦點的時候會觸發 |
| OnApplicationPause | 當遊戲被暫停的時候,電話來了之類的 |
| OnApplicationQuit | 當玩家離開遊戲前會先觸發此才關閉程式 |
| OnCollisionEnter | 當碰撞到的時候 |
| OnCollisionEnter2D | 同上,2D時使用,忽略Z軸 |
| OnCollisionExit | 當碰撞體離開時 |
| OnCollisionExit2D | 同上,2D時使用,忽略Z軸 |
| OnCollisionStay | 當碰撞體一直都碰著時 |
| OnCollisionStay2D | 同上,2D時使用,忽略Z軸 |
| OnTriggerEnter | 當觸發體進入時(碰撞體勾選成觸發) |
| OnTriggerEnter2D | 同上,2D時使用,忽略Z軸 |
| OnTriggerExit | 當觸發體離開時 |
| OnTriggerExit2D | 同上,2D時使用,忽略Z軸 |
| OnTriggerStay | 當觸發體一直都碰著時 |
| OnTriggerStay2D | 同上,2D時使用,忽略Z軸 |
| OnMouseDown | 當滑鼠點下物件(手指也會觸發) |
| OnMouseDrag | 當滑鼠拖曳或按住物件(手指也會觸發) |
| OnMouseEnter | 當滑鼠觸碰到該物件(手指也會觸發) |
| OnMouseExit | 當滑鼠離開觸碰該物件(手指也會觸發) |
| OnMouseOver | 當滑鼠停在物件上(手指也會觸發) |
| OnMouseUp | 當滑鼠釋放按下時(手指也會觸發) |
| OnMouseUpAsButton | 當滑鼠是完整個按下並放開才會觸發(手指也會觸發) |
| OnDestroy | 當此物件被刪除前調用 |
| OnValidate | 當物件的參數有所變化調用(只能在Editor裡面) |
另外MonoBehaviour中還有
Invoke("methodName", 1);
StartCoroutine(IEnumerator());
呼叫方法以及協同程序,之後有機會會再來做介紹。
以上是本篇全部內容,謝謝觀看。
留言
張貼留言