
获取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 - Text或TextMeshProUGUI组件 - 脚本文件顶部已添加
using TMPro命名空间 - 若出现缺失引用错误,需通过Window > TextMeshPro > Import TMP Essential Resources导入基础资源