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导入基础资源
相关推荐
派葛穆3 小时前
Unity-UI 按钮点击弹窗功能
unity·游戏引擎
toponad7 小时前
Unity Ads Bidding 现已正式加入TopOn 聚合平台
unity·topon
unityのkiven11 小时前
Unity UGUI 实战:动态生成任务面板
unity·游戏引擎
郝学胜-神的一滴11 小时前
中级OpenGL教程 026:Assimp库从编译到实战全攻略
c++·unity·游戏引擎·图形渲染·unreal engine·opengl
凯尔3151 天前
Unity简单涂料实现
unity·游戏引擎·图形渲染
刘步权1 天前
KY-RTI分布仿真技术:第十三章 基于Unity的多语言三维态势仿真——以 Island Assault(夺岛突击)想定为例
unity·游戏引擎·仿真·态势·ky-rti·hla·rti
ellis19702 天前
C#/Unity清理非托管资源
unity·c#
玖玥拾2 天前
Unity 3D 笔记(十四)Unity/C# Socket 网络笔记3
服务器·网络·unity·c#
Python私教2 天前
Godot图片怎么导入?PNG、压缩、Mipmap与Reimport一次讲清
游戏引擎·godot
玖玥拾2 天前
Unity 3D 笔记(十七)Unity/C# Socket 网络笔记6
服务器·网络·unity·c#