Unity2D -是否有检测碰撞不进入的功能

本文关键字:功能 碰撞 是否 检测 Unity2D | 更新日期: 2023-09-27 18:04:53

我知道有检测碰撞进入的功能这是OnCollisionEnter2D(){},但我想知道是否有检测碰撞不进入的功能?或者在OnCollisionEnter2D中添加else ?

原因:我有两个对象和一个变量HIT。如果它们相互接触,则HIT变量设置为1。如果它们不相互接触,则HIT变量设为0。

有办法吗?这是我的代码:

void OnCollisionEnter2D(Collision2D coll){
    if (coll.gameObject == Collidor) {
        hit = 1;
    } else {
        hit = 0;
    }
}

碰撞进入检测工作良好,但其他不工作。

谢谢!

Unity2D -是否有检测碰撞不进入的功能

是的,你可以使用OnCollisionExit2D来检测两个触摸对象何时不再接触。

void OnCollisionEnter2D(Collision2D coll){
    if (coll.gameObject == Collidor) {
        hit = 1;
    } 
}
void OnCollisionExit2D(Collision2D coll){
    if (coll.gameObject == Collidor) {
        hit = 0;
    }
}