Unity - 文字元素



Unity 內建的文字 UI 是學習者開始設計 UI 的一個很好的起點,即使它往往會被更強大、更高效的社群構建的資源所掩蓋。

對於我們的目的,原生的文字元素足以讓我們開始。

文字作為一個獨立的 UI 元素,主要是因為該元素的**動態性**。例如,將玩家的當前得分列印到螢幕上,需要將分數的數值轉換為字串,通常透過**.toString()** 方法,然後才能顯示。

要插入文字 UI 元素,請轉到場景層次結構,**建立 → UI → 文字**。

Create UI Text

一個新的文字元素應該會顯示在你的畫布區域中。如果我們看看它的屬性,我們會看到一些非常有用的選項。

Text element

然而,最重要的是**文字欄位**。你可以在該欄位中輸入你想讓文字框顯示的內容,但我們想更進一步。

要更改文字的字型,您必須首先將**字型檔案**從您的計算機匯入到 Unity 中,作為資源。字型不需要主動附加到場景中的任何內容,可以直接從資源中引用。

文字元素也可以透過指令碼訪問;這就是**動態** UI 的重要性所在。

與其像上一章那樣在控制檯中輸出按鈕被點選的次數,不如讓我們實際將其列印到遊戲螢幕上。為此,我們將開啟上一課中的 ButtonBehaviour 指令碼,並對其進行一些修改。

using UnityEngine;
using UnityEngine.UI;
public class ButtonBehaviour : MonoBehaviour {
   int n;
   public Text myText;
   public void OnButtonPress(){
      n++;
      myText.text = "Button clicked " + n + " times.";
   }
}

我們做的第一個更改是添加了一個新的名稱空間引用。此引用用於處理 Unity 的 UI 元件,因此我們添加了 using **UnityEngine.UI** 行。

接下來,我們建立一個公共的 Text 變數,我們可以在其中拖放我們的 Text UI 元素。

最後,我們使用**myText.text**訪問此 UI 元素包含的實際文字。

myText.text

如果我們儲存指令碼,現在將在我們的 ButtonManager 中看到一個新的 Text UI 元素插槽。只需將包含該 Text 元素的 gameObject 拖放到插槽上,然後點選播放按鈕。

New Slot Text UI Element
廣告