首页 > 解决方案 > 在方法 OnCollisonEnter2D 中未检测到碰撞

问题描述

我正在尝试检测碰撞,但它们没有被触发:

public class cs_bullet : MonoBehaviour
{
    void OnCollisonEnter2D(Collision2D coll)
    {
        Debug.Log("collision");
        if (coll.gameObject.tag == "target")
        {
            Debug.Log("hit_target");
            Destroy(coll.gameObject);
            Destroy(gameObject);
        }
    }
}

子弹预制件

在此处输入图像描述 在此处输入图像描述

目标预制件

在此处输入图像描述 在此处输入图像描述

标签: unity3dcollision-detection

解决方案


这可能是因为您需要将方法键入为“OnCollisionEnter2D”而不是“OnCollisonEnter2D”(您错过了名称中的“i”)。


推荐阅读