团结 - 文本元素

Unity内置的文本用户界面是学习者设计用户界面的一个很好的起点,即使它更容易被更强大,更有效的社区建设资产所掩盖.

对于我们来说目的,vanilla Text元素绰绰有余.

文本是其自身独特的UI元素,主要是由于该元素的动态 .例如,将播放器的当前分数打印到屏幕上需要将分数的数值转换为字符串,通常是在显示之前通过 .toString()方法.

要插入Text UI元素,请转到Scene Heirarchy, Create →  UI → 文字.

创建UI文字

新文字元素应显示在Canvas区域中.如果我们看一下它的属性,我们会看到一些非常有用的选项.

Text element

然而,最重要的是文本字段.您可以在该字段中输入您希望文本框说出的内容,但我们希望更进一步.

要更改文本的字体,必须先导入字体文件从您的计算机进入Unity,作为资产.字体不需要主动附加到场景中的任何内容,并且可以直接从资产中引用.

Text元素也可以通过脚本访问;这就是动态 UI的重要性所在.

而不是控制台,输出按钮被按下的次数,如上一章所述;让我们实际在游戏画面上打印出来.为此,我们将打开上一课中的ButtonBehaviour脚本,并对其进行一些更改.

 
使用UnityEngine; 
使用UnityEngine.UI; 
公共类ButtonBehaviour:MonoBehaviour {
 int n; 
 public Text myText; 
 public void OnButtonPress(){
 n ++; 
 myText.text ="按钮点击"+ n +"次."; 
} 
}

我们做的第一个更改是添加新的命名空间引用.此引用用于处理Unity的UI组件,因此我们添加了使用 UnityEngine.UI 行.

接下来,我们创建一个公共Text变量,其中我们可以将Text UI元素拖放到.

最后,我们使用 myText.text 访问此UI元素包含的实际文本.

myText.text

如果我们保存脚本,我们现在会看到一个新的ButtonManager中Text UI元素的插槽.只需将包含该Text元素的gameObject拖放到插槽中,然后点击"播放"按钮.

New Slot文本UI元素