@8DSm1Le

Почему прыжок иногда не срабатывает?

Добрый день!
Почему иногда не срабатывает прыжок на слое Ground даже на прямой поверхности? Возможно это CheckGround виноват? Или GetButtonDown?
Вызов прижка:
private void FixedUpdate()
    {
        CheckGround();
        if (!isAttacking && isGrounded && Input.GetButtonDown("Jump"))
            Jump();
    }


Скрипт прыжка:
private void Jump()
    {
        if (Input.GetButtonDown("Jump")) State = States.jump;
        rb.AddForce(Vector3.up * jumpForce, ForceMode2D.Impulse);
        jumpSound.Play();
    }


Скрипт проверки земли:
private void CheckGround()
    {
        Collider2D[] collider = Physics2D.OverlapCircleAll(transform.position, circle);
        isGrounded = collider.Length > 1;
    }


Круг под ногами настроен так:
65b4091f83686939733665.png
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Потому что Input.* синхронизирован с Update, а не FixedUpdate
Ответ написан
Ваш ответ на вопрос

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

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