unity2D gameObject标记不起作用

时间:2016-08-22 07:29:32

标签: c# unity3d

我是Unity2D的新手。虽然我将我的地面标记设置为' GROUND',如果条件不起作用..

void onCollisionEnter2D(Collision2D other){
    if (other.gameObject.tag == "GROUND"){
        isGrounded = true;
        Jumping = false;
        anim.SetInteger("Status", 0);
    }
}

2 个答案:

答案 0 :(得分:3)

甚至没有调用该函数。它是OnCollisionEnter2D而不是onCollisionEnter2D。解决这个问题,你的问题应该解决了。

与您的问题无关,但使用CompareTag函数比较标记效率更高。因此,if (other.gameObject.tag == "GROUND")应为if (other.gameObject.CompareTag("GROUND"))

答案 1 :(得分:1)

尝试使用CompareTag()检查gameObject的标签。

void onCollisionEnter2D(Collision2D other){
    if (other.gameObject.CompareTag("GROUND")){
        isGrounded = true;
        Jumping = false;
        anim.SetInteger("Status", 0);
    }
}