Как исправить исключение нулевой ссылки в переменной изображения в инспекторе?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как исправить исключение нулевой ссылки в переменной изображения в инспекторе?

Сообщение Anonymous »

Итак, в настоящее время я создаю функции инвентаризации для своей игры Michael. Я писал скрипт под названием RespawnItem.

Код: Выделить всё

public class RespawnItem : MonoBehaviour
{
//----PUBLICS----//
public PlayerCollectingSystem playerCollect;
public Image img;

//----PRIVATES----//

//----SERIALIZED PRIVATES----//
[SerializeField] private Transform playerLocation;
[SerializeField] private GameObject protag;

private void Awake()
{
img = GetComponent();
playerLocation = GetComponent();
playerCollect = protag.GetComponent
();
}

public void Respawn()
{

if (img.overrideSprite == gameObject.GetComponent().sprite)
{
transform.position = playerLocation.position;
gameObject.GetComponent().enabled = true;
}

}
}
Скрипт RespawnItem предназначен для повторного возрождения собранного предмета при нажатии на его изображение в слоте инвентаря.
Скрипт RespawnItem прикрепляется к GameObject называется «item».
Переменная изображения img — это изображение, которое хранится в инспекторе.
Я нашел нулевую ссылку исключение в

Код: Выделить всё

img.overrideSprite == gameObject.GetComponent().sprite
, в котором говорится:

NullReferenceException: ссылка на объект не установлена ​​на экземпляр объекта

Здесь переменная img равна нулю.
Когда я тестировал игру и играл в нее, я обнаружил, что изображения больше нет в img. переменная инспектора. Когда я прекратил тестирование, оно снова оказалось в переменной. Именно по этой причине оно было нулевым.
Итак, я знаю, что такое ноль, и это переменная img. Причина, по которой он был нулевым, заключалась в том, что он отсутствовал, пока я его тестировал.
Я посмотрел, как это исправить, и прочитал у Copilot, ИИ, который учится из других источников, и меня зацепило повторное импортирование сценария. Другие казались маловероятными, связанными с этой проблемой, особенно когда речь шла о «Синтаксических ошибках». Синтаксические ошибки появляются при орфографических ошибках.
Единственная проблема заключалась в том, что я не знаю, как это исправить.
Я думаю, что это может быть GetComponent, но я знаю не знаю, как это исправить.
Это видео предназначено только для наглядности.
Как мне решить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -inspector
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Исключение нулевой ссылки c# с System.Speech.Synthesis при использовании в большом приложении
    Гость » » в форуме C#
    0 Ответы
    31 Просмотры
    Последнее сообщение Гость
  • Интерполяция нечетной строки. Исключение нулевой ссылки при отладке.
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Исключение нулевой ссылки, возникающее несмотря на назначение ссылок
    Anonymous » » в форуме C#
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Исключение нулевой ссылки после создания легкого игрового объекта
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • SqlDependency.Start(connectionString, "SQLDependencyQueue") выдает исключение нулевой ссылки
    Anonymous » » в форуме C#
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C#»