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导入基础资源
相关推荐
牛哇网络工作室5 小时前
UnityHDRP写实数字人全流程基础5—语音输入和语音识别
android·unity·c#·游戏引擎·aigc·语音识别·xcode
ellis197015 小时前
u3d插件xLua[九]例8 Hotfix
unity
淡海水16 小时前
01-07-运行时-GC深度剖析-内存分配回收与结构选择
jvm·windows·unity·gc
优梦创客18 小时前
游戏开发架构选型:第1篇|什么是架构?从进球事件看 MVC 的局限
unity·架构·游戏引擎·游戏开发
zhangphil2 天前
Unity3D(Unity)跨平台游戏引擎简介
unity
Madokaly2 天前
DOTween动画:TweenManager深度解析
unity
_ZHOURUI_H_3 天前
Unity TCP底层极限拆解:粘包、半包、CRC、序列号、双缓冲到底怎么一起工作的?
网络·网络协议·tcp/ip·游戏·unity·游戏引擎·游戏开发
KindSuper_liu3 天前
Unity 游戏网络基础:从 TCP、UDP 到 HTTP、TLS 与 Best HTTP
网络·游戏·unity
qq_170264753 天前
unity里GameObject和Texture的内存归属
java·unity·游戏引擎
weixin_404679313 天前
godot + vscode ai开发
ide·vscode·编辑器·游戏引擎·godot