本篇和下篇會分別介紹 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的實用技巧~~