我是Unity2D的新手。虽然我将我的地面标记设置为' GROUND',如果条件不起作用..
void onCollisionEnter2D(Collision2D other){
if (other.gameObject.tag == "GROUND"){
isGrounded = true;
Jumping = false;
anim.SetInteger("Status", 0);
}
}
答案 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);
}
}