-2

Что это за ошибка: NullReferenceException: Object reference not set to an instance of an object ScoreMeneger.Update () (at Assets/Scripts/Scores/ScoreMeneger.cs:20)?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class ScoreMeneger : MonoBehaviour { public int score; [SerializeField] Text ScoreMN;

public void OnTriggerEnter2D(Collider2D other) { if (other.gameObject.tag == "Enemy") { score++; } } void Update() { ScoreMN.text = score.ToString(); } }

aepot
  • 49,560
  • 2
    Ошибка какая-то - это самый топовый заголовок, который я вообще когда-либо видел. Требую, легализовать также: Чета глючит, Не фурычит, ХЭЭЭЛП! – Максим Фисман Mar 28 '21 at 18:15

2 Answers2

1

NullReferenceException обозначает, что вы пытаетесь достучаться работать с переменной, значение которой равно null. Это тема обсуждалась и здесь, на StackOverflow.

Конкретно по вашему коду, у вас есть переменная ScoreMN, которая, очевидно, должна быть присвоена в инспекторе. Вы ее, похоже, не присвоили. Она равна null, а вы путаетесь получить у нее свойство text. Получается, ваша 20-я строка выглядит так: null.text, что разумеется не работает. Вам следует перетянуть объект с компонентом Text в инспекторе к этой переменной.

Между прочим, в инструкции о том, как задать хороший вопрос прописано, что вам следует сначала поискать ответы на свой вопрос в Интернете, а уже потом, если не нашли, задавать вопрос. Сейчас его вполне можно закрыть как дубликат по вышеуказанной мною ссылке.

0

В переменную ScoreMN ничего не присвоено. Наверное в инспекторе в это поле забыли закинуть нужный объект где есть компонент Text