Столкновение не обнаруживается Unity2D - PullRequest
0 голосов
/ 02 апреля 2020

Я пытаюсь создать объект, который при столкновении с другим объектом будет уничтожен. Я также использовал Debug.Log, и оказалось, что столкновение даже не обнаружено. Вот код

     public class Enemy_1 : MonoBehaviour
 {
     public void OnCollisionEnter2D(Collision2D col)
     {
         if (col.gameObject.tag.Equals ("AttackArea"))
         {
             Destroy(gameObject);

         }
     }
 }

1 Ответ

0 голосов
/ 02 апреля 2020

Добро пожаловать в сообщество!

Чтобы мы лучше поняли контекст, в следующий раз предоставьте скриншотам этих объектов для некоторых инспекторов. Это будет легче для нас обоих! 100

Теперь для вашей проблемы может быть одна (или комбинация) из нескольких причин:

  1. Ни к одному из двух объектов не прикреплено Rigidbody2D. Для обнаружения столкновения, по крайней мере, одно из двух должно быть Rigidbody2D. ...
  2. Другой объект не помечен как AttackArea. Таким образом, уравнение тега возвращает false. ...
  3. Коллайдер другого объекта помечен как is trigger. В этом случае OnTriggerEnter2D(Collider2D) вызывается вместо OnCollisionEnter2D(Collision2D).

Проверьте каждый из них и дайте нам знать! ?

...