简述
Unity 的内置文本 UI 是学习者开始设计 UI 的一个很好的起点,即使它往往被更强大和更高效的社区构建资产所掩盖。
就我们的目的而言,vanilla Text 元素已经足够开始了。
文本本身是一个独特的 UI 元素,主要是由于dynamism那个元素。例如,将玩家当前的分数打印到屏幕上,需要将分数的数值转换为字符串,一般通过.toString()方法,在它显示之前。
要插入 Text UI 元素,请转到 Scene Heirarchy,Create → UI → Text.
一个新的 Text 元素应该出现在您的 Canvas 区域中。如果我们看一下它的属性,我们会看到一些非常有用的选项。
然而,最重要的是Text field. 您可以在该字段中输入您希望文本框显示的内容,但我们希望更进一步。
要更改文本的字体,您必须先导入font file从您的计算机到 Unity,作为资产。字体不需要主动附加到场景中的任何东西上,可以直接从 Assets 中引用。
Text 元素也可以通过脚本访问;这就是其中的重要性dynamicUI进来了。
代替控制台,输出按钮被按下的次数,如前一章所述;让我们在游戏屏幕上实际打印出来。为此,我们将打开上一课中的 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 组件,因此我们添加了 usingUnityEngine.UI线。
接下来,我们创建一个公共 Text 变量,我们可以将 Text UI 元素拖放到其中。
最后,我们访问这个 UI 元素包含的实际文本myText.text.
如果我们保存脚本,现在我们将在 ButtonManager 中看到 Text UI 元素的新插槽。只需将包含该 Text 元素的游戏对象拖放到插槽上,然后点击 Play 按钮。