我在Unity2D.Although上是新来的,如果条件不起作用的话,我把地面标记设为‘接地’。
void onCollisionEnter2D(Collision2D other){
if (other.gameObject.tag == "GROUND"){
isGrounded = true;
Jumping = false;
anim.SetInteger("Status", 0);
}
}发布于 2016-08-22 07:32:26
这个函数甚至没有被调用。这是OnCollisionEnter2D而不是onCollisionEnter2D。修好它,你的问题就应该解决了。
与您的问题无关,但是使用CompareTag函数比较标记更有效。所以你的if (other.gameObject.tag == "GROUND")应该是if (other.gameObject.CompareTag("GROUND"))
发布于 2016-08-22 07:33:21
尝试使用CompareTag()来检查gameObject的标记。
void onCollisionEnter2D(Collision2D other){
if (other.gameObject.CompareTag("GROUND")){
isGrounded = true;
Jumping = false;
anim.SetInteger("Status", 0);
}
}https://stackoverflow.com/questions/39073608
复制相似问题