统一文本更改不起作用
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();
使更改生效。
我有一个简单的平台游戏,其中包含您拾取的硬币和一个 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();
使更改生效。