From f19e940c3ab3e5dd150e29834986424591aea489 Mon Sep 17 00:00:00 2001 From: Riccardo Venturini <80196285+ctrlVnt@users.noreply.github.com> Date: Fri, 16 Feb 2024 12:02:08 +0000 Subject: [PATCH] before playercontrollerkeyboard reverse didn't work, now it work --- src/components/PlayerControllerKeyboard.jsx | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/components/PlayerControllerKeyboard.jsx b/src/components/PlayerControllerKeyboard.jsx index c515b9a..b680166 100644 --- a/src/components/PlayerControllerKeyboard.jsx +++ b/src/components/PlayerControllerKeyboard.jsx @@ -121,6 +121,12 @@ export const PlayerControllerKeyboard = ({ } else if (rightPressed && currentSpeed > 0) { steeringAngle = -currentSteeringSpeed; targetXPosition = camMaxOffset; + } else if (rightPressed && currentSpeed < 0) { + steeringAngle = currentSteeringSpeed; + targetXPosition = -camMaxOffset; + } else if (leftPressed && currentSpeed < 0) { + steeringAngle = -currentSteeringSpeed; + targetXPosition = camMaxOffset; } else { steeringAngle = 0; targetXPosition = 0; @@ -170,13 +176,24 @@ export const PlayerControllerKeyboard = ({ } // REVERSING - if (downPressed && currentSpeed < -maxSpeed) { + if (downPressed) { + if (currentSteeringSpeed < MaxSteeringSpeed) { + setCurrentSteeringSpeed( + Math.min( + currentSteeringSpeed + 0.0001 * delta * 144, + MaxSteeringSpeed + ) + ); + } + } + + if (downPressed && currentSpeed <= 0) { setCurrentSpeed( Math.max(currentSpeed - acceleration * delta * 144, -maxSpeed) ); } // DECELERATING - else if (!upPressed && !downPressed) { + else if (!upPressed) { if (currentSteeringSpeed > 0) { setCurrentSteeringSpeed( Math.max(currentSteeringSpeed - 0.00005 * delta * 144, 0)