游戏就是用来与人进行交互的,因此必须有界面,而界面上一般有文本显示,或者输入,这些都是游戏本身与玩家进行交互的方式。最简单的文本显示,就是玩家打开游戏之后显示的开始菜单。这一次,我们就来学习怎么样创建一个界面文本显示。
首先创建一个工程,然后在这个工程里添加一个UI的Text,如下操作:
通过上面按ABC的操作,就可以得到一个GUI的TEXT显示,如图:
如果位置显示不对,你可以手动地调整,或者直接在inspector里进行复位。到这里,我们就得到一个界面的文本显示,是不是很简单的方式,当然你也可以通过属性来修改文字显示的格式,比如字体的大小、斜体、对齐方式等等。
接着下来,为了从脚本里控制文本显示,可以给这个Text对象添加一个脚本,如下操作:
在这里能过添加组件A的方式,就可以添加一个C#的脚本,然后就会生成B这样的脚本,把脚本命名为TimerGuiText,打开这个脚本文件,就可以在里面输入下面的代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class TimerGuiText : MonoBehaviour {
private Text gui;
public float time;
// Use this for initialization
void Start ()
{
gui = gameObject.GetComponent<Text>();
gui.text = Mathf.CeilToInt(time).ToString();
}
// Update is called once per frame
void Update ()
{
time -= Time.deltaTime;
gui.text = Mathf.CeilToInt(time).ToString();
if(time < 0)
{
Destroy(gameObject);
}
}
}
在这段代码,首先要添加UnityEngine.UI,才可以使用Text组件。这里定义gui为Text对象,time为时间倒数计数变量。
在Start()函数里,进行初始化,把gui绑定到Text对象,并显示内容。
在Update()函数更新游戏界面的Text显示,这时就会看到不断从20减到0,最后对象被删除。查看运行结果如下:
通过这样的操作,就学会了在游戏里创建Text组件显示文本,并且演示了在代码里操作文本对象。