我用的方法是检测是否在地面上,然后可以跳跃,再触发二段跳,二段跳之后不允许跳跃。但是这个方法触发的二段跳需要先进行一次在地面上的跳跃,如果我在高处直接走下来,会判定我没站在地面上,就无法跳跃了,我也没办法设置成不在地面上触发二段跳,这样就会变成无限跳,求大佬们帮帮我
void Jump()
{
if (Input.GetButtonDown("Jump"))
{
if (onGround)
{
myAnim.SetBool("Jump", true);
Vector2 jumpVel = new Vector2(0.0f, jumpSpeed);
rb.velocity = Vector2.up * jumpVel;
DoubleJump = true;
}
else
{
if (canDoubleJump)
{
myAnim.SetBool("Jump", true);
myAnim.SetBool("Fall", false);
Vector2 doubleJumpVel = new Vector2(0.0f, doubleJumpSpeed);
rb.velocity = Vector2.up * doubleJumpVel;
DoubleJump = false;
}
}
}
}