我正在使用Unity在游戏中制作一个简单的硬币系统,但遇到了问题。
这是我拥有的所有代码:
public class CoinSystem : MonoBehaviour
{
public Text coinText;
public int coinAmount;
// Start is called before the first frame update
void Start()
{
coinText = GetComponent<Text>();
}
// Update is called once per frame
void Update()
{
coinText.text = coinAmount.ToString();
}
运行游戏时,出现此错误:
NullReferenceException:对象引用未设置为对象的实例 CoinSystem.Update()(位于Assets / Scripts / CoinSystem.cs:21)
我看过多个论坛,我们的代码非常相似,所以我不知道可能出什么问题。任何帮助将不胜感激,谢谢!
答案 0 :(得分:1)
您附加了代码的GameObject
没有Text
组件。
转到包含此代码(GameObject
)的CoinSystem
的检查员,然后执行
Add Component > Text
答案 1 :(得分:0)
您必须将脚本添加到Text
组件gameObject中。如果要将脚本添加到其他gameObject,然后将文本gameObject引用到添加的脚本gameObject,则Start()的外观将与以下不同:
coinText.GetComponent<Text>();