На основе предоставленного кода и сообщения об ошибке, проблема, скорее всего, заключается в том, что переменная moneyText не инициализирована. Ошибка NullReferenceException возникает, когда вы пытаетесь использовать объект, который равен null.
Убедитесь, что вы присвоили соответствующий Text компонент переменной moneyText в инспекторе Unity.
Если вы не хотите присваивать значение через инспектор, вы можете найти объект Text в коде. Добавьте следующий код в метод Start():
private void Start()
{
money = PlayerPrefs.GetInt("money");
total_money = PlayerPrefs.GetInt("total_money");
// Добавьте эту строку, чтобы найти Text компонент
moneyText = GameObject.Find("MoneyText").GetComponent();
}
Также рекомендуется добавить проверку на null перед использованием moneyText в методе Update():
void Update()
{
if (moneyText != null)
{
moneyText.text = money.ToString();
}
}
Если вы используете новую систему UI в Unity (TextMeshPro), убедитесь, что вы импортировали правильное пространство имен и используете правильный тип:
using TMPro;
public class MainMenu : MonoBehaviour
{
// ...
public TextMeshProUGUI moneyText;
// ...
}
MainMenu.Update () (at Assets/Scripts/MainMenu.cs:36) Код внизу