Merge pull request #18 from ctrlVnt/fix-reverse-function
fix reverse on gamepad and mouse controllerpull/22/head
commit
e89f666184
|
@ -121,6 +121,12 @@ export const PlayerController = ({
|
||||||
} else if (rightPressed && currentSpeed > 0) {
|
} else if (rightPressed && currentSpeed > 0) {
|
||||||
steeringAngle = -currentSteeringSpeed;
|
steeringAngle = -currentSteeringSpeed;
|
||||||
targetXPosition = camMaxOffset;
|
targetXPosition = camMaxOffset;
|
||||||
|
} else if (rightPressed && currentSpeed < 0) {
|
||||||
|
steeringAngle = currentSteeringSpeed;
|
||||||
|
targetXPosition = -camMaxOffset;
|
||||||
|
} else if (leftPressed && currentSpeed < 0) {
|
||||||
|
steeringAngle = -currentSteeringSpeed;
|
||||||
|
targetXPosition = camMaxOffset;
|
||||||
} else {
|
} else {
|
||||||
steeringAngle = 0;
|
steeringAngle = 0;
|
||||||
targetXPosition = 0;
|
targetXPosition = 0;
|
||||||
|
@ -182,13 +188,24 @@ export const PlayerController = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
// REVERSING
|
// REVERSING
|
||||||
if (downPressed && currentSpeed < -maxSpeed) {
|
if (downPressed) {
|
||||||
|
if (currentSteeringSpeed < MaxSteeringSpeed) {
|
||||||
|
setCurrentSteeringSpeed(
|
||||||
|
Math.min(
|
||||||
|
currentSteeringSpeed + 0.0001 * delta * 144,
|
||||||
|
MaxSteeringSpeed
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (downPressed && currentSpeed <= 0) {
|
||||||
setCurrentSpeed(
|
setCurrentSpeed(
|
||||||
Math.max(currentSpeed - acceleration * delta * 144, -maxSpeed)
|
Math.max(currentSpeed - acceleration * delta * 144, -maxSpeed)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// DECELERATING
|
// DECELERATING
|
||||||
else if (!upPressed && !downPressed) {
|
else if (!upPressed) {
|
||||||
if (currentSteeringSpeed > 0) {
|
if (currentSteeringSpeed > 0) {
|
||||||
setCurrentSteeringSpeed(
|
setCurrentSteeringSpeed(
|
||||||
Math.max(currentSteeringSpeed - 0.00005 * delta * 144, 0)
|
Math.max(currentSteeringSpeed - 0.00005 * delta * 144, 0)
|
||||||
|
|
|
@ -165,13 +165,24 @@ export const PlayerControllerGamepad = ({
|
||||||
}
|
}
|
||||||
|
|
||||||
// REVERSING
|
// REVERSING
|
||||||
if (buttonB && currentSpeed < -maxSpeed) {
|
if (buttonB) {
|
||||||
|
if (currentSteeringSpeed < MaxSteeringSpeed) {
|
||||||
|
setCurrentSteeringSpeed(
|
||||||
|
Math.min(
|
||||||
|
currentSteeringSpeed + 0.0001 * delta * 144,
|
||||||
|
MaxSteeringSpeed
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (buttonB && currentSpeed <= 0) {
|
||||||
setCurrentSpeed(
|
setCurrentSpeed(
|
||||||
Math.max(currentSpeed - acceleration * delta * 144, -maxSpeed)
|
Math.max(currentSpeed - acceleration * delta * 144, -maxSpeed)
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
// DECELERATING
|
// DECELERATING
|
||||||
else if (!buttonA && !buttonB) {
|
else if (!buttonA) {
|
||||||
if (currentSteeringSpeed > 0) {
|
if (currentSteeringSpeed > 0) {
|
||||||
setCurrentSteeringSpeed(
|
setCurrentSteeringSpeed(
|
||||||
Math.max(currentSteeringSpeed - 0.00005 * delta * 144, 0)
|
Math.max(currentSteeringSpeed - 0.00005 * delta * 144, 0)
|
||||||
|
|
Loading…
Reference in New Issue