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

时间:2016-08-31 15:58:29

标签: c# unity5

我知道有检测碰撞进入的功能。 那是OnCollisionEnter2D(){}但我想知道是否有任何检测碰撞的功能不进入?或者将其他方法添加到OnCollisionEnter2D

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

有没有办法做到这一点?这是我的代码:

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

检测碰撞输入效果很好,但其他方法无法正常工作。

谢谢!

1 个答案:

答案 0 :(得分:2)

是的,您可以使用OnCollisionExit2D来检测两个触摸物体何时不再接触。

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

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