2016-09-05 4 views
0

Я только начал делать 2D-игру для себя, у меня есть проблема. У меня есть gameObject, перемещающийся по экрану справа налево, мне нужно уничтожить его, когда он покидает экран. Я создал «object_killer», добавлен компонент BoxCollider2D, IsTrigger. Это мой маленький скрипт (C#):Unity 5, destroy (game.Object)

void OnTriggerEnter (Collider other) 
    { 
      if (other.tag == "rektcar") 
      { 
      Destroy(gameObject); 
      } 
    } 

Но ничего не происходит - моя геймобжекты движется далеко от экрана. "object_killer" имеет тег rektcar.

+0

Почему не отлаживать свой код и посмотреть, что происходит? Поместите 'Debug.Log (« Triggered »),' внутри 'OnTriggerEnter', затем также поместите' Debug.Log («Triggered rektcar»); 'в оператор if. Скажите нам результат. – Programmer

+0

Извините, не сказал об этом. Я попробовал, но результата нет. Кажется, что функция даже не вызывалась, но я не понимаю, почему: \ – Den

ответ

0

Поскольку вы использовали OnTriggerEnter, вы должны убедиться, что ваш объект выбрал IsTrigger. Если вы не хотите использовать триггер, вы можете изменить OnTriggerEnter на OnCollisionEnter.

+0

Да, я проверил IsTrigger, ничего не происходит. Пытался применить «IsTrigger» к обоим объектам, к любому из них - все равно ничего. – Den

1

У обоих сталкивающихся объектов есть 2D-коллайдер? Кроме того, если вы делаете 2D игры с 2D коллайдеров использовать

OnTriggerEnter2D(Collider2D) { } 

прочитанной this