Unity面板无显示:如何将TextMeshProText替换为TextMeshProText UI
解决Unity UI文本不显示问题:替换TextMeshProText为UI类型或使用Legacy Text
方案一:改用TextMeshPro - UI组件
- 你代码里用的
TextMeshProText是3D场景文本的类型,UI界面需要用专门的TextMeshProUGUI类型 - 修改代码步骤:
- 确保已引入命名空间:
using TMPro;(你已经添加,可跳过此步) - 把变量声明从:
改成:public TextMeshProText lT;public TextMeshProUGUI lT; - 在Unity编辑器中,找到Canvas下的
TextMeshPro - UI组件,将其拖拽到脚本的lT字段上 - 赋值文本时直接用
lT.text = "你的内容";即可
- 确保已引入命名空间:
方案二:改用Legacy Text组件
如果不想用TextMeshPro UI,也可以切换到旧版Text组件:
- 修改代码步骤:
- 引入UI命名空间:
using UnityEngine.UI; - 把变量声明改成:
public Text lT; - 在Unity编辑器中,将Canvas下的
Text(Legacy)组件拖拽到脚本的lT字段上 - 赋值文本同样用
lT.text = "你的内容";
- 引入UI命名空间:
额外注意
不管用哪种方案,文本组件必须放在Canvas对象下,否则UI元素无法被渲染显示。
内容的提问来源于stack exchange,提问作者ek.Nik
相关产品推荐
相关产品推荐

