動態文字的應用層面很廣,例如顯示在畫面上的分數、倒數計時秒數、玩家間的對話...等,這些文字內容都必需即時改變而非固定不變。這個例子將示範動態改變 unity text 的內容,每按一次空格鍵,畫面中的數字就會加 1。
1. 新增一個 unity 專案。
2. 點擊 GameObject > UI > Text 新增一個文字物件。
3. 把文字內容改為 0 (原本為 New Text),並調整好位置確認顯示在 Game 視窗中。
4. 新增一個 c# script 掛到文字物件上。
5. 在 script 中輸入以下程式即完成。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI; // 記得加這行
public class NewBehaviourScript : MonoBehaviour {
int a = 0;
void Update () {
if (Input.GetKeyDown("space")) {
a = a + 1; // 也能簡寫為 a++; 或 a+=1;
GetComponent<Text>().text = "" + a; // 前面加空字串,是為了把 整數a 轉為 字串。
}
}
}
(連結代碼:unity-dtext)
建議延伸閱讀:
>>
unity 載入外部文字檔(txt)
>>
unity C# 語法教學入門
>>
Unity Script 常用語法教學(unity課程入門學習筆記)