@SenderD

Почему происходит двойной прыжок Untiy2D?

Собственно код прыжка есть, но если нажимать быстро Space, то объект может сделать двойной прыжок

// Код самого войда 
 private void OnTriggerStay2D(Collider2D collision)
    {
        isGrounded = true;
        
    }


// И прыжок
 void FixedUpdate()
    {
      if(isGrounded == true && Input.GetKeyDown(KeyCode.Space))
        {
            rb.AddForce(Vector2.up * jumpForce);
            isGrounded = false;
        }
    }
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@SenderD Автор вопроса
Вообщем, если добавить
private void OnTriggerExit2D(Collider2D collision)
    {
        isGrounded = false;

    }

и убрать isGrounded = false; из if{}, то двойной прыжок пропадает...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lucian
@Lucian
https://t.me/MakeFreelance
Попробуйте поменять местами:
isGrounded = false;
rb.AddForce(Vector2.up * jumpForce);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы