Appearance
Text (Legacy)
NOTE
这是旧版 UGUI 的 Text 组件,不是 TextMeshProUGUI。

一、Text 的作用
它只负责在 Canvas 上显示文字,常用于:
- 标题
- 分数
- 提示信息
- 菜单说明
- UI 标签
它不能直接输入文字,也不能自动处理点击。旧版 Text 继承自 MaskableGraphic,可以参与 Canvas 渲染和遮罩。Unity UI.Text API
二、截图字段说明
Character
Text:要显示的文字,当前为New Text。Font:字体资源,当前为LegacyRuntime。Font Style:字体样式。- Normal:正常
- Bold:粗体
- Italic:斜体
- Bold And Italic:粗斜体
Font Size:字体大小,当前为14。Line Spacing:行距倍数,当前为1。Rich Text:是否支持富文本标签。
示例:
c
<b>粗体</b>
<i>斜体</i>
<color=#FF0000>红色文字</color>Paragraph
Alignment
控制文字在 RectTransform 内部的位置:
- 水平:Left、Center、Right
- 垂直:Top、Middle、Bottom
截图中大致是:
c
左对齐 + 顶部对齐按钮文字通常使用:
c
Middle CenterHorizontal Overflow
Wrap:文字超出宽度后自动换行。Overflow:允许文字横向超出边界。
Vertical Overflow
Truncate:超出高度的文字被截断。Overflow:允许文字垂直超出边界。
Best Fit
开启后,Unity 会自动缩小或放大字号,让文字尽量适应区域。它可能导致不同分辨率下字号不一致,通常不建议完全依赖它。
其他字段
Color:文字颜色和透明度。Material:文字材质,当前为None。Raycast Target:文字是否参与 UI 射线检测。Raycast Padding:扩大文字的射线检测区域。Maskable:是否接受 Mask 或 RectMask2D 裁剪。
如果文字挡住了按钮点击,可以关闭:
C
Raycast Target三、Legacy Text 与 TextMeshProUGUI
| Legacy Text | TextMeshProUGUI |
|---|---|
使用 Font | 使用 TMP_FontAsset |
| 功能较简单 | 支持更多排版功能 |
| 旧项目常见 | 新项目更推荐 |
| 缩放后可能变模糊 | SDF 渲染,缩放更清晰 |
| 基础富文本 | 支持描边、阴影、Fallback Font 等 |
截图中的 LegacyRuntime 说明它使用的是旧版字体系统。
四、代码修改 Text
c
using UnityEngine;
using UnityEngine.UI;
public class LegacyTextDemo : MonoBehaviour
{
[SerializeField] private Text label;
public void SetScore(int score)
{
label.text = "Score: " + score;
}
public void CenterText()
{
label.alignment = TextAnchor.MiddleCenter;
}
}代码中的类型是:
c
UnityEngine.UI.Text五、常见问题
- 文字被截断:检查
Vertical Overflow是否为Truncate。 - 文字超出边框:检查 RectTransform、Alignment 和 Overflow。
- 文字不换行:将
Horizontal Overflow设置为Wrap。 - 文字挡住按钮:关闭
Raycast Target。 - 字体不显示:检查 Font 是否为空,或字体是否缺少对应字符。
- 多语言显示异常:使用包含中文、日文等字符的字体资源。
- 新项目需要高质量文字:优先使用 TextMeshProUGUI。