Скрипт уничтожения объекта

Программирование на Юнити.

Скрипт уничтожения объекта

Сообщение ilyakonst 19 май 2017, 17:59

Синтаксис:
Используется csharp
void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.CompareTag("PickUp"))
        {
            //other.gameObject.SetActive(false);
            Destroy(other.gameObject);
            count++;
            SetCountText();
        }
    }

В стандартных уроках юнити есть урок roller ball. Там предлагают данный скрипт, чтобы при столкновении шара с кубиком кубы исчезали(собирались). Данный скрипт работает в окне юнити в любом из вариантов(дестрой или деактивация), но если собрать проект и запустить, то не работает ни тот, ни другой вариант. В чем может быть проблема? Шарик вкатывается в куб, но куб не пропадает
ilyakonst
UNец
 
Сообщения: 1
Зарегистрирован: 19 май 2017, 17:57

Re: Скрипт уничтожения объекта

Сообщение scv 20 май 2017, 18:26

Я бы сначала проверил:
а) Висит ли скрипт на шаре
б) Есть ли у шара коллайдер
в) Есть ли у куба коллайдер
г) Есть ли у шара или куба rigidbody (без него никак)

Если все зачет, то сделал бы так:

Синтаксис:
Используется csharp
void OnTriggerEnter(Collider other)
    {
        if (other.gameObject.tag == "PickUp") // Замена свойства с 'CompareTag' на 'Tag'
        {
            Debug.Log(other.gameObject);
        }
    }
 


Ну и если прёт, то уже Destroy(other.gameObject).
scv
UNец
 
Сообщения: 12
Зарегистрирован: 17 сен 2016, 09:21


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8