Это происходит только тогда, когда: при ударе о стену во время прыжка + при нажатии стрелок влево и вправо.
Когда стены нет, действует гравитация и персонаж падает.Однако, когда персонаж попадает в стену, скорость Y сразу становится равной 0.Когда левая и правая клавиши со стрелками вверх, персонаж снова падает.
GroundCheck работает хорошо.
Я долго думал, но не знаю почему.Мне нужна помощь.
Видео об ошибке в моей игре: https://youtu.be/5omWCYm-y14
Мой код:
private void FixedUpdate()
{
isGrounded = Physics2D.OverlapCircle(GroundCheck.position, GroundCheckRadius, GroundLayer) != null;
if (isGrounded)
{
if (Input.GetKeyDown(KeyCode.Z))
{
body.AddForce(Vector2.up * JumpForce);
}
}
body.velocity = new Vector2(Input.GetAxisRaw("Horizontal") * DefaultSpeed, body.velocity.y);
}