在方法 OnCollisonEnter2D 中未检测到碰撞

Posted

技术标签:

【中文标题】在方法 OnCollisonEnter2D 中未检测到碰撞【英文标题】:Collision not detected in method OnCollisonEnter2D 【发布时间】:2020-11-21 14:32:12 【问题描述】:

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

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);
        
    

子弹预制件

目标预制件

【问题讨论】:

您是如何移动对象的?您是否尝试过将Rigidbody2D 也放在您的目标对象上?尝试使用Continues 而不是Discrete 来检测刚体的碰撞 仅供参考,建议使用coll.gameObject.TagCompare('tag') 而不是coll.gameObject.tag == 'tag' - answers.unity.com/questions/200820/… 【参考方案1】:

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

【讨论】:

以上是关于在方法 OnCollisonEnter2D 中未检测到碰撞的主要内容,如果未能解决你的问题,请参考以下文章

在 UITextView 委托方法中未执行 if/else 语句

在 chrome 中未删除会话 cookie 的解决方法

Swift 3 中未调用 UIPanGestureRecognizer 操作方法

在 iOS5 中未调用 UIViewController 设备旋转委托方法

在 iOS8 中未调用 UIViewController 设备旋转委托方法

getParameter 方法中未定义的变量