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导入基础资源
相关推荐
公爵爱学习2 小时前
无人机多点巡航
游戏引擎·无人机·cocos2d
公爵爱学习3 小时前
关于无人机定点飞行的一些解释和Matlab程序绘制
游戏引擎·无人机·cocos2d
wgslucky17 小时前
Godot GDScript初学者遇到的问题记录
游戏引擎·godot
点心的游戏开发世界19 小时前
GDScript 入门笔记(五):函数
笔记·游戏引擎·godot
谢斯1 天前
[unity]如何在unity中添加newtonsoft-json
unity·json·游戏引擎
天人合一peng1 天前
Unity标记固定颜色及投影标记
unity
云雨巫山1 天前
Unity 游戏开发性能优化全景手册
unity·智能手机·性能优化·游戏引擎
maybeyaluokenai1 天前
unity build in渲染管线概述
unity·图形渲染
学习星球1 天前
AI 原生游戏开发:Godot 4 + AI Agent 全栈指南(Ziva 3 / Godot MCP 深度实战)
人工智能·游戏引擎·godot
云雨巫山1 天前
Unity 性能优化 · 图解全景手册
unity·性能优化·游戏引擎