统一C#硬币系统
我在游戏中使用Unity制作了一个简单的硬币系统,我遇到了一个问题 以下是我所有的代码:统一C#硬币系统,c#,unity3d,C#,Unity3d,我在游戏中使用Unity制作了一个简单的硬币系统,我遇到了一个问题 以下是我所有的代码: public class CoinSystem : MonoBehaviour { public Text coinText; public int coinAmount; // Start is called before the first frame update void Start() { coinText = GetComponent&l
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();
}
公共类系统:单一行为
{
公共文本;
公共货币数量;
//在第一帧更新之前调用Start
void Start()
{
coinText=GetComponent();
}
//每帧调用一次更新
无效更新()
{
coinText.text=cointamount.ToString();
}
当我运行游戏时,会出现以下错误:
NullReferenceException:对象引用未设置为对象的实例
Update()(位于Assets/Scripts/CoinSystem.cs:21)
我看过多个论坛,我们的代码非常相似,所以我不知道会出什么问题。如果您能提供任何帮助,我将不胜感激!您附加代码的
游戏对象没有文本组件
转到包含此代码的游戏对象的检查器(CoinSystem
)并执行以下操作
您必须将脚本添加到您的Text
组件游戏对象中。如果您将脚本添加到不同的游戏对象,然后将Text gameObject引用到添加的脚本游戏对象中,则您的Start()看起来会有所不同,如下所示:
coinText.GetComponent<Text>();
coinText.GetComponent();
coinText.GetComponent<Text>();