未检测到碰撞 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);
}
}
}
欢迎来到社区!
为了让我们更好地了解上下文,下次提供这些对象的一些检查器屏幕截图。这对我们俩来说都会更容易!
现在,对于您的问题,可能有以下几个原因之一(或组合):
- None 的两个对象已附加
Rigidbody2D
。要检测到碰撞,两个中的至少一个必须是 Rigidbody2D
。 ...
- 其他对象未标记为
AttackArea
。因此,标记等式 returns 为假。 ...
- 其他对象的碰撞体标记为
is trigger
。在这种情况下,调用 OnTriggerEnter2D(Collider2D)
而不是 OnCollisionEnter2D(Collision2D)
。
检查每一项并告诉我们!
我正在尝试制作一个在与另一个物体碰撞时被摧毁的物体。我也使用了 Debug.Log ,结果甚至没有检测到碰撞。这是代码
public class Enemy_1 : MonoBehaviour
{
public void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag.Equals ("AttackArea"))
{
Destroy(gameObject);
}
}
}
欢迎来到社区!
为了让我们更好地了解上下文,下次提供这些对象的一些检查器屏幕截图。这对我们俩来说都会更容易!
现在,对于您的问题,可能有以下几个原因之一(或组合):
- None 的两个对象已附加
Rigidbody2D
。要检测到碰撞,两个中的至少一个必须是Rigidbody2D
。 ... - 其他对象未标记为
AttackArea
。因此,标记等式 returns 为假。 ... - 其他对象的碰撞体标记为
is trigger
。在这种情况下,调用OnTriggerEnter2D(Collider2D)
而不是OnCollisionEnter2D(Collision2D)
。
检查每一项并告诉我们!