@New_Programmer

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

Я программирую на 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";
    }
}
  • Вопрос задан
  • 87 просмотров
Решения вопроса 2
NikFaraday
@NikFaraday
Student full-stack Developer
Пожалуйста, зачем вы полезли игры делать, если вы C# не знаете? Что такое NULL?

У вас ошибка NullReferenceException, значит что объект NULL. Почему? Вы получаете объект zacaz1 используя GetComponent<trigger_test>. Что делает GetComponent<trigger_test>? Возвращает присоединённый компонент указанного объекта (текущего). Если при обращении к zacaz1 вы получаете NULL, о чём это говорит? О том, что у этого компонента нет объекта trigger_test
Ответ написан
Комментировать
AshBlade
@AshBlade Куратор тега C#
Просто хочу быть счастливым
Эта ошибка означает, что в поле хранится null, т.е. оно не инициализировано.
Посмотри на поля text и tet2 - ты в методе Start их не инициализируешь, поэтому они остаются null
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы