如何通过脚本修改UI文本?

Ava*_*yer 1 c# text unity-game-engine

一个简单的问题:我正在尝试通过 C# 脚本修改 UI 文本(TextMeshPro,如果这有什么区别)。我正在使用以下代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Coins : MonoBehaviour
{
    public Text coins;
    void Start()
    {
        coins = GetComponent<Text>();
    }

    void Update()
    {
        coins.text = "text";
    }
}
Run Code Online (Sandbox Code Playgroud)

我在 Unity 2018 中做了类似的事情(我目前正在使用 Unity 2020.2)并且它在那里工作。由于某种原因,它在这里不起作用。我将不胜感激任何帮助。

小智 10

在 TMP 中更改文本实际上是相同的,但您需要添加"using TMPro;"并更改变量类型。代码应该如下所示:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using TMPro;

public class Coins : MonoBehaviour
{
    public TMP_Text coins;
    void Start()
    {
        coins = GetComponent<TextMeshProUGUI>();
    }

    void Update()
    {
        coins.text = "text";
    }
}
Run Code Online (Sandbox Code Playgroud)