Unity - 文本元素

  • 简述

    Unity 的内置文本 UI 是学习者开始设计 UI 的一个很好的起点,即使它往往被更强大和更高效的社区构建资产所掩盖。
    就我们的目的而言,vanilla Text 元素已经足够开始了。
    文本本身是一个独特的 UI 元素,主要是由于dynamism那个元素。例如,将玩家当前的分数打印到屏幕上,需要将分数的数值转换为字符串,一般通过.toString()方法,在它显示之前。
    要插入 Text UI 元素,请转到 Scene Heirarchy,Create → UI → Text.
    创建 UI 文本
    一个新的 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.
    我的文本.text
    如果我们保存脚本,现在我们将在 ButtonManager 中看到 Text UI 元素的新插槽。只需将包含该 Text 元素的游戏对象拖放到插槽上,然后点击 Play 按钮。
    新的插槽文本 UI 元素