我有这个简单的平台游戏,你拿起硬币和画布,只要你选择一个,就会显示得分和变化。这是我的代码:
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:对象引用未设置为对象的实例',它突出显示text.text行。请帮忙。提前谢谢。
答案 0 :(得分:2)
首先,确保在包含脚本的对象上有一个文本组件。您的GetComponent<Text> ();
调用未找到文本组件。
或者,您可以将Text text;
公开并将其挂钩到您想要更改的实际Text组件,方法是将Text-component对象拖放到Script组件的Text字段中。
其次,在更新text.text值后,请调用text.SetAllDirty();
以使更改生效。