Добрый день!
Почему иногда не срабатывает прыжок на слое 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;
}
Круг под ногами настроен так: