2017年10月22日 星期日

Unity程式初體驗(二)-淺談讀取鍵盤輸入與遊戲物件顏色控制

使用Input.GetKeyDown來讀取鍵盤輸入內容

在Unity系統其輸入系統的介面就是Input類別,該類別可以用來讀取鍵盤、滑鼠、甚至於手機上的三軸加速計,在本範例中使用Input.GetKeyDown API來讀取鍵盤的值。因為GetKeyDown為static函式,亦即類別等級函式,因此不需要建立物件,就可以直接呼叫。若函式不是static函式,我們稱為物件等級,就一定要先建立物件才能呼叫使用。

可以用KeyCode來列舉鍵盤值

KeyCode其資料型態是列舉,因此我們可以KeyCode.R來表示"R"鍵。

獲取GameObject的渲染器組件

我們可以使用GetComponent()函式,利用泛型來指定Renderer物件,利用GetComponent()函式來取得遊戲物件的組件。

利用渲染器上的material.color屬性來改變遊戲物件的顏色值

在經由GetComponent()函式獲取GameObject的渲染器組件後,我們就可以利用渲染器上的material.color屬性來改變遊戲物件的顏色值,我們可以用Color.red來指定紅色值。


以下是完整的程式列表:

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

public class NewBehaviourScript : MonoBehaviour {

// Use this for initialization
void Start () {

}

// Update is called once per frame
void Update () {
        if (Input.GetKeyDown(KeyCode.R))
        {
            GetComponent<Renderer>().material.color = Color.red;
        }
        if (Input.GetKeyDown(KeyCode.G))
        {
            GetComponent<Renderer>().material.color = Color.green;
        }
        if (Input.GetKeyDown(KeyCode.B))
        {
            GetComponent<Renderer>().material.color = Color.blue;
        }
    }
}

以上內容參考Scripts as Behaviour Components教學。

沒有留言:

張貼留言