8.文本控件-脚本控制
8.1 知识点
脚本获取 TextMeshPro UI 组件
引用 TMP 命名空间
要使用 TextMeshPro,首先需要引用命名空间TMPPro
。TMP UI 组件名为
TextMeshProUGUI
示例代码:using TMPro; using UnityEngine; public class Lesson08_UI文本控件_脚本控制 : MonoBehaviour { public TextMeshProUGUI textMeshProUGUI; }
TextMeshPro UI 组件常用属性
文本内容 (text
)
textMeshProUGUI.text = "123123adfasdklf545454564654654646454564654132156465424";
字体 (font
)
可以通过 textMeshProUGUI.font
获取或设置字体。
字体大小 (fontSize
)
textMeshProUGUI.fontSize = 10;
颜色 (color
)
textMeshProUGUI.color = Color.black;
对齐方式 (alignment
)
textMeshProUGUI.alignment = TextAlignmentOptions.Center;
行间距 (lineSpacing
)
textMeshProUGUI.lineSpacing = 50;
是否启用富文本 (richText
)
textMeshProUGUI.richText = false;
TextMeshPro UI 组件常用方法
SetText
设置文本内容
支持富文本格式:
textMeshProUGUI.SetText("<color=blue>Hello, World!</color>");
Rebuild
强制重新构建文本网格
在文本内容或样式更改后调用:
textMeshProUGUI.Rebuild(UnityEngine.UI.CanvasUpdate.Prelayout);
CanvasUpdate
枚举:
Prelayout
:布局前调用Layout
:布局时调用PostLayout
:布局后调用PreRender
:渲染前调用LatePreRender
:渲染后调用MaxUpdateValue
:最后调用
ForceMeshUpdate
强制更新文本网格
在运行时动态更改文本时使用:
textMeshProUGUI.ForceMeshUpdate();
Length
获取文本中字符数
print(textMeshProUGUI.text.Length);
UI 事件监听
如果想要为 TMP UI 添加交互事件,可以使用 UGUI 中的 EventTrigger
组件。
更多 API
可以参考官方文档了解更多 API 和用法: TextMeshProUGUI 文档
8.2 知识点代码
Lesson08_UI文本控件_脚本控制.cs
using TMPro;
using UnityEngine;
using UnityEngine.Serialization;
public class Lesson08_UI文本控件_脚本控制 : MonoBehaviour
{
public TextMeshProUGUI textMeshProUGUI;
void Start()
{
#region 知识点一 脚本获取TMP UI组件
//1.需要引用TMP命名空间 TMPPro
//2.TMP UI组件名为 TextMeshProUGUI
#endregion
#region 知识点二 TextMeshPro UI组件常用属性
//1.文本内容
//text;
textMeshProUGUI.text = "123123adfasdklf545454564654654646454564654132156465424";
//2.字体
//font
// textMeshProUGUI.font
//3.字体大小
//fontSize
//textMeshProUGUI.fontSize = 10;
//4.颜色
//color
textMeshProUGUI.color = Color.black;
//5.对齐方式
//alignment
textMeshProUGUI.alignment = TextAlignmentOptions.Center;
//6.行间距
//lineSpacing
textMeshProUGUI.lineSpacing = 50;
//7.是否启用富文本
//richText;
textMeshProUGUI.richText = false;
#endregion
#region 知识点三 TextMeshPro UI组件常用方法
//1.SetText 设置文本内容,支持富文本格式
textMeshProUGUI.SetText("<color=blue>Hello, World!</color>");
//2.Rebuild 强制重新构建文本网格,通常在文本内容或样式更改后使用
//Rebuild(UnityEngine.UI.CanvasUpdate.XXX);
//传入UnityEngine.UI.CanvasUpdate枚举如下
// Prelayout 布局前调用
// Layout 布局时调用
// PostLayout 布局后调用
// PreRender 渲染前调用
// LatePreRender 渲染后调用
// MaxUpdateValue 最后调用
textMeshProUGUI.Rebuild(UnityEngine.UI.CanvasUpdate.Prelayout);
//3.ForceMeshUpdate 强制更新文本网格,运行时动态更改文本时
//textMeshProUGUI.ForceMeshUpdate();
//4.Length 获取文本中字符数
print(textMeshProUGUI.text.Length);
#endregion
#region 知识点四 UI事件监听
//如果我们想要为TMP UI空间添加交互事件
//可以UGUI中EventTrigger的方式
#endregion
#region 知识点五 更多API
//https://docs.unity3d.com/Packages/com.unity.textmeshpro@4.0/api/TMPro.TextMeshProUGUI.html
#endregion
}
public void OnClickTmpUI()
{
print("文本被点击了");
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com