未检测到碰撞Unity2D

问题描述 投票:-1回答:1

我正在尝试制造一个与其他物体碰撞而被破坏的物体。我还使用了Debug.Log,结果甚至没有检测到冲突。这是代码

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

         }
     }
 }
unity3d collision-detection collision
1个回答
0
投票

欢迎社区!

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

现在,由于您的问题,可能有以下几种原因(或结合起来):

  1. 两个对象均未附加Rigidbody2D。为了检测到碰撞,必须至少两个为Rigidbody2D。 ...
  2. [其他对象未标记为AttackArea。因此,标签方程式返回false。 ...
  3. 其他对象的对撞机标记为is trigger。在这种情况下,将调用OnTriggerEnter2D(Collider2D)而不是OnCollisionEnter2D(Collision2D)

检查所有这些,并告知我们! 😉

© www.soinside.com 2019 - 2024. All rights reserved.