本篇和下篇会分别介绍 UGUI Text 和 Button,RectTransform 放在之后讲
什么是 Text
Text 是 UGUI 用来渲染文字的组件之一,除了 Text,还可以用 TextMeshPro 来渲染文字
创建 Text
在 Hierarchy 视图空白处右键鼠标,弹出菜单中选择 UI -> Text,就可以创建一个 Text 组件
先看一下 Text 组件的属性
属性 | 简述 |
---|---|
Text | 要显示的文本信息 |
Font | 所使用的字体 |
Font Style | 文字样式 (斜体 , 加粗等) |
Font Size | 字体大小 |
Line Spacing | 行间距 |
Rich Text | 是否支持富文本 |
Alignment | 文本的对齐方式 |
Alignment By Geometry | 使用区段的字形几何执行水平对齐 |
Horizontal Overflow | 水平溢出方式 |
Horizontal Overflow | 垂直溢出方式 |
Best Fit | 自动调整字号大小 |
Color | 文本颜色 |
Material | 材质 可以不设置 |
Raycast Target | 是否可以被射线检测到 |
-
Font 除常规字体外,还支持自己制作的美术字体(用Bit Map Generator 制作)
-
Rich Text 富文本 支持 HTML 部分样式设置
官方给出几个标签
加粗
<b>一个富文本</b>
倾斜
<i>一个富文本</i>
大小
<size=40>一个富文本</size>
颜色
<color=#00ffffff>一个富文本</color>
材质
<material=1>一个富文本</material>
嵌入
<quad material=1 size=20 x=0.1 y=0.1 width=0.5 height=0.5>
- color 值是有限制的,详细看下面官方说明
- material 与 quad 只能用在 Text Mesh 中使用,UGUI Text 不能用,下文有例子
官方说明 https://docs.unity3d.com/Manual/StyledText.html
-
Alignment By Geometry 勾选则文本与文本框对齐时采用文字的边去对齐
-
Horizontal Overflow 水平溢出
- Wrap:文本将自动换行,当达到水平边界
- Overflow:文本可以超出水平边界,继续显示
- Vertical Overflow 垂直溢出
- Truncate:文本不显示超出垂直边界的部分
- Overflow:文本可以超出垂直边界,继续显示
- Best Fit 当边框很大时,文字最大显示Max Size字体大小;当边框很小时,文字最小显示Min Size字体大小,边框显示不了MinSize字体大小就不再显示文字了
- Min Size:最小大小
- Max Size:最大大小
Text 实例
写个显示当前时间的实例吧
using UnityEngine;
using UnityEngine.UI;
public class ShowTime : MonoBehaviour
{
[SerializeField] Text m_Text;
private void Update()
{
m_Text.text = $"当前时间是:\n{System.DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss")}";
}
}
显示结果
material 与 quad
上文中说到 material 与 quad 只能用在 Text Mesh 中使用,来做个例子看看看怎么使用
- 新建一个 3D Text
- 新建一个 Material 随便附个图,把 Material 放在 3D Text 的 Mesh Renderer 组件上
- 在 Text Mesh 组件中输入文字看效果
文本与效果
欢迎关注公众号,定期分享Unity的实用技巧~~