统一文本更改不起作用

Unity Text Change not working

我有一个简单的平台游戏,其中包含您拾取的硬币和一个 canvas 显示分数并在您拾取硬币时发生变化。这是我的代码:

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

public class ScoreManager : MonoBehaviour {

 Text text;
 
 private LVLMang levelManager;
 
 void Start () {
  text = GetComponent<Text> ();
  levelManager = FindObjectOfType<LVLMang> ();
 }
 
 void Update () {
  text.text = "" + levelManager.Score;
 }
}

它会将硬币添加到分数中,但它给我带来了太多错误,以至于我的游戏最终崩溃了。错误是:'NullReferenceException: Object reference not set to an instance of an object' 并突出显示 text.text 行。请帮忙。提前致谢。

首先,确保您在具有脚本的对象上有一个文本组件 您的 GetComponent<Text> (); 调用没有找到文本组件。

或者,您可以制作 Text text; public 并将其挂接到您要更改的实际文本组件,方法是将文本组件对象拖放到脚本组件的文本字段中。

其次,更新text.text值后,调用text.SetAllDirty();使更改生效。