You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Unity 2020.2 中如何通过 C# 脚本修改 UI Text 与 TextMeshPro 文本?

问题原因

你当前的代码是针对Unity原生UGUI的Text组件编写的,但你实际使用的是TextMeshPro组件,二者类型不匹配,所以无法生效。

修复步骤

  • 补充TextMeshPro的专属命名空间引用using TMPro;,没有其他UGUI组件需求的话可以删除using UnityEngine.UI;
  • 把变量定义的类型从Text替换为TextMeshProUGUI(UI层级的TextMeshPro组件均为此类型)
  • 把GetComponent的泛型参数同步修改为TextMeshProUGUI
  • 确保脚本挂载在对应TextMeshPro UI对象上,或者直接在Inspector面板把目标TMP组件拖到coins变量的赋值框,后者可以省略Start里的自动获取代码

修改后完整代码

using UnityEngine;
using TMPro;

public class Coins : MonoBehaviour
{
    public TextMeshProUGUI coins;
    void Start()
    {
        // 脚本挂在TMP组件同对象上时可以用这个自动获取,手动赋值的情况下可以删除这段代码
        coins = GetComponent<TextMeshProUGUI>();
    }

    void Update()
    {
        coins.text = "你要显示的文本内容";
    }
}

额外注意事项

如果代码提示找不到TMPro命名空间,打开Package Manager确认已经安装Text Mesh Pro官方包,安装完成后根据提示导入TMP Essential Resources资源即可。从Unity 2018升级上来的项目注意删除旧版本手动导入的TMP插件文件,避免和Package Manager的官方版本产生命名冲突。

内容的提问来源于stack exchange,提问作者Avarage cat enjoyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:36:01