1. 程式人生 > >《Unity Manual》閱讀筆記(二):Scripting

《Unity Manual》閱讀筆記(二):Scripting

  • 找尋Component或者GameObject總結:

    • 找Component: gameObject.GetComponent<RigidBody>()
    • 找子節點中的GameObject: transform.Find("Gun")
    • 找任意的GameObject: GameObject.Find("Gun"),GameObject.FindWithTag("Player"), GameObject.FindGameObjectsWithTag("Enemy")
  • MonoBehaviour中的event function:Update(), Awake(), OnGUI(), OnCollisionEnter(), OnTriggerEnter()

    等。

  • Time.deltaTime:過去一幀實際經過的時間,若在FixedUpdate()中呼叫則等同於Time.fixedDeltaTime。

  • Time.fixedDeltaTime: 固定的delta時間,用於物理引擎。

  • Time.timeScale: 設定這個值會加快遊戲的整體速度,設為0時暫停。

  • Instantiate():複製一個GameObject。

  • Destroy(): 銷燬GameObject。

  • coroutine: 可以分幀執行的函式。作用是將耗時操作分幀執行。

  • WaitForSeconds():不立即從下一幀繼續執行,而是有一個延遲。

  • event function的執行順序(詳見下圖):

    • 初始化: Awake -> OnEnable -> Start
    • 每一幀:FixedUpdate -> OnTriggerXXX -> OnMouseXXX -> Update -> yield null -> LateUpdate -> OnRenderObject -> OnGUI
    • 結束: OnDisable -> OnDestroy
      這裡寫圖片描述
  • event system: 基於input(鍵盤、滑鼠、觸控等)來發送event到各種物件上,需要在scene中間新增EventSystem元件。

  • Raycaster:用於引導event傳送到哪個物件上。

  • 如何實現Button點選事件:

    • 直接在Inspector下面OnClick處添加回調函式。
    • 通過程式碼:button.onClick.AddListener(functionName)