Unity Text Change无效

时间:2015-09-03 02:19:44

标签: text unity3d 2d

我有这个简单的平台游戏,你拿起硬币和画布,只要你选择一个,就会显示得分和变化。这是我的代码:

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行。请帮忙。提前谢谢。

1 个答案:

答案 0 :(得分:2)

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

或者,您可以将Text text;公开并将其挂钩到您想要更改的实际Text组件,方法是将Text-component对象拖放到Script组件的Text字段中。

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