[ Unity C# ] 遊戲程式入門 #01 Start 與 Update

標籤: , , ,

當我們在 Unity 中新增一個腳本 (Script) 時,程式碼中會待有預設的 Start( ) 與 Update( ) 函數,這兩個函數代表的涵義分別是「開始」與「每次更新」

嘗試加入以下程式碼

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class HelloWorld : MonoBehaviour {

  // Use this for initialization
  void Start () {
    Debug.Log("Hello World Start!");
  }
  
  // Update is called once per frame
  void Update () {
    Debug.Log("Hello World Update!");
  }
}

 

執行後會看到 “Hello World Start!” 的訊息在最一開始被印出了一次

而 “Hello World Update!” 則是不間斷的持續被印出來

 

Start()

start會在腳本被初始化完成,開始運行的時候「執行一次」,是腳本中最先執行的函數,在start中可以進行變數的初始化、多個腳本中相互關係的設定

Update()

每一幀 ( 每次遊戲畫面刷新 ) 時執行一次,通常用來撰寫遊戲邏輯,如:角色移動、怪物生成、造成傷害等等

 

延伸閱讀:

[ Unity C# ] 遊戲程式入門 #02 變數宣告與資料型態

[ Unity C# ] 都是初始化,Awake、Start的差異

[ Unity C# ] 複雜的更新,Update、FixedUpdate、LateUpdate的差異 ( 敬請期待 )



相關文章

教學 #06 – 碰撞器、觸發器、剛體(一)... 在Unity中,碰撞機制大致上有兩個重點: Collider(碰撞器)、Trigger(觸發器)、Rigidbody(剛體) 這篇教學文中較多文字上的解說,若是Unity的新手建議好好耐...
基礎教學 #01 – 前置作業 ---Unity 多人連線 UNet 教學 #01--- 為了教學上的方便,在UNet系列教學文中會使用2D專案做展示,會以讓大家「快速入門」為主要目標 在開始寫Code之前,我們必須先了解Uni...
基礎教學 #05 – ClientRpc 遠端呼叫客戶端... ClientRpc是與Command相對的功能,是由「Server」去要求「Client」執行,兩者的撰寫方式是差不多的,只需要在函式前加上,不過函式名稱必須是「Rpc」開頭。 首先我先...
教學 #12 – Layer(層級) 另一個與Tag很像的東西叫做Layer,是層級、階層的意思,在Unity中與Tag有同樣的功能,但是Layer會牽扯到碰撞判定。 Layer的設定方式與Tag一致,位置就在Tag的右邊而已 ...