Unity3d. Ошибка: Object reference not set to an instance of an object

126
28 марта 2021, 06:40

Есть карта, сгенерированная из перфаба(2д текстура), при создании поочередно дается название ( 1, 2....). Я хотел бы, чтобы мой игрок умел делать что-то с этими блоками. Функция, у персонажа:

public void click()
{
    RaycastHit2D rayHit;
    rayHit = Physics2D.Raycast(transform.position, transform.right);
    Map_Generation map  = rayHit.transform.gameObject.GetComponent<Map_Generation>();
    if(rayHit)
    {
        name = rayHit.collider.gameObject.name;
        map.search(name);
    }

А вот функция search, она висит на пустом объекте Map_Generation:

public void search(string name)
{
    ds =  GameObject.FindWithTag(name).gameObject;
    if (ds != null)
    {
        Destroy(ds);
        Debug.Log("Успех!");
    }
    else Debug.Log("Полный ноль!");
}

Эта функция не вызывается вообще, сразу пишет ошибку. Я не могу понять в чем дело. Коллайдер на префабе весит.

Answer 1

Решил проблему. Нужно было в скрипте игрока объявить вот так:

Map_Generation map = new Map_Generation();

Мб кому-то это будет полезным, наверное..

READ ALSO
Тайм-аут подключения к контейнеру с mysql из go

Тайм-аут подключения к контейнеру с mysql из go

Установил Docker Desktop for MacOSЗапустил контейнер с mysql:docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=pass -d mysql:latest

139
Не выводится результат условия if . Задача [дубликат]

Не выводится результат условия if . Задача [дубликат]

Изучаю основы пхпПопалась такая задача

118
Как правильно подключить api?

Как правильно подключить api?

У меня на сайте есть форма заполнения, в поле Счет-фактура я должен ввести номер счета например 111111-11, после проверки, если счет правильный...

97
Wp Query - как получить общий список из 2 проходов?

Wp Query - как получить общий список из 2 проходов?

Получаю результаты в виде постов в 2 прохода следующим образом

123