未检测到碰撞 Unity2D

Collision not being detected Unity2D

我正在尝试制作一个在与另一个物体碰撞时被摧毁的物体。我也使用了 Debug.Log ,结果甚至没有检测到碰撞。这是代码

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

         }
     }
 }

欢迎来到社区!

为了让我们更好地了解上下文,下次提供这些对象的一些检查器屏幕截图。这对我们俩来说都会更容易!

现在,对于您的问题,可能有以下几个原因之一(或组合):

  1. None 的两个对象已附加 Rigidbody2D。要检测到碰撞,两个中的至少一个必须是 Rigidbody2D。 ...
  2. 其他对象未标记为 AttackArea。因此,标记等式 returns 为假。 ...
  3. 其他对象的碰撞体标记为is trigger。在这种情况下,调用 OnTriggerEnter2D(Collider2D) 而不是 OnCollisionEnter2D(Collision2D)

检查每一项并告诉我们!