Fixed acceleration not matching direction

This commit is contained in:
2026-10-19 21:27:46 -05:00
parent 686bc22949
commit fde10d8e80
3 changed files with 11 additions and 20 deletions
+1 -1
View File
@@ -72,6 +72,6 @@ throttle_up={
}
throttle_down={
"deadzone": 0.2,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"location":0,"echo":false,"script":null)
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
+1
View File
@@ -32,6 +32,7 @@ func _physics_process(delta: float) -> void:
if action:
control_frame.do_action(action, delta, self)
velocity = -transform.basis.z * control_frame.speed
move_and_slide()
#func _unhandled_input(event: InputEvent) -> void:
+9 -19
View File
@@ -8,7 +8,9 @@ var YAW_SPEED: int = 50
var ROLL_SPEED: int = 100
var MIN_SPEED: int = 200
var MAX_SPEED: int = 2000
var ACCELERATION: int = 5
var ACCELERATION: int = 15
var speed: float = float(MIN_SPEED)
func do_action(
@@ -32,9 +34,9 @@ func do_action(
"roll_right":
roll_right(change_rate, jet)
"throttle_up":
throttle_up(delta, jet)
throttle_up(delta)
"throttle_down":
throttle_down(delta, jet)
throttle_down(delta)
_:
pass
@@ -56,20 +58,8 @@ func roll_left(change_rate: float, jet: Jet) -> void:
func roll_right(change_rate: float, jet: Jet) -> void:
jet.rotate_object_local(Vector3.FORWARD, change_rate * ROLL_SPEED)
func throttle_up(delta: float, jet: Jet) -> void:
jet.velocity += (jet.transform.basis.z * -(delta * ACCELERATION))
#clamp(
#jet.velocity,
#MIN_SPEED * Vector3.ONE,
#MAX_SPEED * Vector3.ONE
#)
func throttle_up(delta: float) -> void:
speed = move_toward(speed, MAX_SPEED, ACCELERATION * delta)
jet.velocity = jet.velocity.limit_length(MAX_SPEED)
func throttle_down(delta: float, jet: Jet) -> void:
jet.velocity += (jet.transform.basis.z * (delta * ACCELERATION))
clamp(
jet.velocity,
MIN_SPEED * Vector3.ONE,
MAX_SPEED * Vector3.ONE
)
func throttle_down(delta: float) -> void:
speed = move_toward(speed, MIN_SPEED, ACCELERATION * delta)