Что делать если происходит такая ошибка?

Ссылка скопирована
C#
1 ответ

Я программирую на unity 2D и у меня такая ошибка:

NullReferenceException: Object reference not set to an instance of an object
UI.OnTriggerStay2D (UnityEngine.Collider2D other) (at Assets/Object/Code/UI.cs:21)

Вот код:

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro;  public class UI : MonoBehaviour {     public trigger_test zacaz1;     public trigger_test1 zacaz2;     public TextMeshProUGUI text;     public TextMeshProUGUI tet2;     void Start()     {         zacaz1 = GetComponent<trigger_test>();         zacaz2 = GetComponent<trigger_test1>();     }     private void OnTriggerStay2D(Collider2D other)     {         text.text = other.name;         if (other.name == zacaz1.right_cargo.name)         {             tet2.text = "Trade zone №1";         }         else         {             tet2.text = "There is no order";         }         if (other.name == zacaz2.right_cargo.name)         {             tet2.text = "Trade zone №2";         }         else         {             tet2.text = "There is no order";         }     }     private void OnTriggerExit2D(Collider2D other)     {         text.text = "There is nothing here";     } }

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; public class UI : MonoBehaviour { public trigger_test zacaz1; public trigger_test1 zacaz2; public TextMeshProUGUI text; public TextMeshProUGUI tet2; void Start() { zacaz1 = GetComponent<trigger_test>(); zacaz2 = GetComponent<trigger_test1>(); } private void OnTriggerStay2D(Collider2D other) { text.text = other.name; if (other.name == zacaz1.right_cargo.name) { tet2.text = "Trade zone №1"; } else { tet2.text = "There is no order"; } if (other.name == zacaz2.right_cargo.name) { tet2.text = "Trade zone №2"; } else { tet2.text = "There is no order"; } } private void OnTriggerExit2D(Collider2D other) { text.text = "There is nothing here"; } }

Дополнительно:

Пожалуйста, зачем вы полезли игры делать, если вы C# не знаете? Что такое NULL?

У вас ошибка NullReferenceException, значит что объект NULL. Почему? Вы получаете объект zacaz1 используя GetComponent<trigger_test>. Что делает GetComponent<trigger_test>? Возвращает присоединённый компонент указанного объекта (текущего). Если при обращении к zacaz1 вы получаете NULL, о чём это говорит? О том, что у этого компонента нет объекта trigger_test

Эта ошибка означает, что в поле хранится null, т.е. оно не инициализировано.
Посмотри на поля text и tet2 - ты в методе Start их не инициализируешь, поэтому они остаются null

  • Они public - так что могут все таки извне инициализироваться, в том числе и из эдитора.
  • GavriKos, мне кажется в данном случае проблема глубже, чем обработке NRE. как минимум что такое public)
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Если у вас возникла ошибка при работе с кодом на языке программирования PHP, вам следует следовать нескольким шагам для ее решения:

1. Проверьте синтаксис вашего кода. Часто ошибки возникают из-за неправильного написания или расположения символов. Убедитесь, что все скобки, кавычки и точки с запятой расставлены правильно.

 
 
// Пример исправленного синтаксиса

// Пример исправленного синтаксиса

2. Проверьте переменные. Убедитесь, что все переменные объявлены до их использования, и что они содержат правильные значения.

 
 
// Пример исправленного использования переменной
$name = "John";
echo "Hello $name";
?&gt;

// Пример исправленного использования переменной $name = "John"; echo "Hello $name"; ?&gt;

3. Проверьте права доступа к файлам и директориям. Убедитесь, что у вас есть достаточные права для чтения и записи файлов, с которыми вы работаете.

4. Используйте отладчик. Инструменты отладки, такие как Xdebug, могут помочь вам найти и исправить ошибки в вашем коде.

5. Посмотрите сообщения об ошибках. PHP обычно выводит сообщения об ошибках, которые могут помочь вам определить причину проблемы. Убедитесь, что у вас включено отображение всех ошибок в настройках PHP.

Следуя этим шагам, вы сможете быстро найти и исправить ошибку в вашем коде на PHP. Если проблема остается, попробуйте задать вопрос на специализированных форумах или сообществах программистов, чтобы получить дополнительную помощь.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно