Unity 中 Text-TextMeshPro的获取与赋值

获取TextMeshPro组件

在Unity中获取TextMeshPro组件需要使用TMP_Text类。确保项目中已导入TextMeshPro插件,通过GetComponent方法获取组件:

cs 复制代码
using TMPro;
TMP_Text textComponent = GetComponent<TMP_Text>();

若需通过代码动态查找对象:

cs 复制代码
GameObject textObject = GameObject.Find("TextObjectName");
TMP_Text textComponent = textObject.GetComponent<TMP_Text>();

修改TextMeshPro文本内容

通过text属性直接赋值或修改文本

cs 复制代码
textComponent.text = "Hello World";

支持富文本标签

cs 复制代码
textComponent.text = "<color=#FF0000>Red Text</color>";

动态设置文本属性

调整字体大小、颜色等属性:

cs 复制代码
textComponent.fontSize = 24;
textComponent.color = Color.blue;
textComponent.alignment = TextAlignmentOptions.Center;

启用或禁用自动尺寸调整:

cs 复制代码
textComponent.enableAutoSizing = true;
textComponent.fontSizeMin = 12;
textComponent.fontSizeMax = 36;

响应文本交互事件

为可点击文本添加事件监听(需启用raycastTarget):

cs 复制代码
textComponent.raycastTarget = true;
textComponent.GetComponent<TextMeshProUGUI>().onClick.AddListener(() => {
    Debug.Log("Text clicked");
});

注意事项

使用前需确认:

  • 场景中对象已附加TextMeshPro - TextTextMeshProUGUI组件
  • 脚本文件顶部已添加using TMPro命名空间
  • 若出现缺失引用错误,需通过Window > TextMeshPro > Import TMP Essential Resources导入基础资源
相关推荐
淡海水17 小时前
【节点】[EvaluateTipThickness节点]原理解析与实际应用
unity·游戏引擎·shadergraph·图形·evaluate·thickness
小贺儿开发1 天前
Unity3D 木胎雕刻
科技·unity·人机交互·互动·雕刻
HY小海1 天前
【Unity游戏创作】常见的设计模式
unity·设计模式·c#·游戏程序
淡海水3 天前
【节点】[EvaluateSimulationAdditionalData节点]原理解析与实际应用
unity·游戏引擎·shadergraph·图形·simulation·evaluate
小贺儿开发3 天前
Unity3D 文物互动大屏
3d·unity·实时互动·udp·socket·网络通信
秦奈3 天前
Unity学习复习随笔(12):网络开发基础
网络·笔记·学习·unity
淡海水4 天前
【节点】[EvaluateRefractionData节点]原理解析与实际应用
unity·游戏引擎·shadergraph·data·图形·evaluate·refraction
淡海水4 天前
【节点】[EvaluateScatteringColor节点]原理解析与实际应用
unity·游戏引擎·shadergraph·color·图形·evaluate·scattering
风痕天际4 天前
Godot扫雷游戏制作记录2——鼠标交互
游戏·游戏引擎·godot
lambda5 天前
游戏开发者的CMU动作数据使用指南:如何将AMC文件转Unity动画
unity·游戏开发·动作捕捉·cmu