Rigidbody2D rb;
private BoxCollider2D coll;
private SpriteRenderer sprite;
private Animator anim;
public Joystick joystick;
[SerializeField] private LayerMask jumpableGround;
private float dirX = 0f;
[SerializeField] private float moveSpeed = 10f;
[SerializeField] private float jumpForce = 16f;
private int m_jumpTimes;
bool doubleJump;
public void JumpButton()
{
if (rb.velocity.y == 0)
{
if (IsGrounded())
{
rb.velocity = Vector2.up * jumpForce;
doubleJump = true;
//rb.velocity = new Vector3(rb.velocity.x, jumpForce);
}
else if (doubleJump)
{
rb.velocity = Vector2.up * jumpForce;
doubleJump = false;
}
}
UpdateAnimationUpdate();
}
你应该定义一个全局变量用来计数的,控制你可以跳的次数,跳第一次时计数+1;再跳一次重置为0试试