есть скрипт для управления персонажем, там есть функция прыжка, и дело в том, что если прыгнуть с зажатой кнопкой движения (A или D) то всё работает нормально, но если зажать кнопку движения и прыгнуть, а после в полёте отпустить кнопку движения персонаж просто падает вниз, как это пофиксить?
// отрывки кода
// в скрипте двойной прыжок
public float speed;
public float jumpforce;
public Rigidbody2D rb;
public Animator anim;
private int extraJumps;
public int extraJumpsValue;
void Start()
{
extraJumps = extraJumpsValue;
rb = GetComponent<Rigidbody2D>();
anim = GetComponent<Animator>();
}
private void FixedUpdate()
{
isGrounded = Physics2D.OverlapCircle(groundCheck.position, checkRadius, whatIsGround);
anim.SetBool("isGrounded", isGrounded);
// jump
if (isGrounded == true)
{
extraJumps = extraJumpsValue;;
}
if (Input.GetKeyDown(KeyCode.Space) && extraJumps > 0)
{
rb.velocity = Vector2.up * jumpforce;
extraJumps--;
}else if (Input.GetKeyDown(KeyCode.Space) && extraJumps == 0 && isGrounded == true)
{
rb.velocity = Vector2.up * jumpforce;
}
}