From fde10d8e80e0dc976fca0f430ed393f71649094f Mon Sep 17 00:00:00 2001 From: itdominator <1itdominator@gmail.com> Date: Mon, 19 Oct 2026 21:27:46 -0500 Subject: [PATCH] Fixed acceleration not matching direction --- project.godot | 2 +- scenes/jet.gd | 1 + scripts/jet_variants/base_jet.gd | 28 +++++++++------------------- 3 files changed, 11 insertions(+), 20 deletions(-) diff --git a/project.godot b/project.godot index b8f10df..44c4c2d 100644 --- a/project.godot +++ b/project.godot @@ -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) ] } diff --git a/scenes/jet.gd b/scenes/jet.gd index 9b83530..40abafc 100644 --- a/scenes/jet.gd +++ b/scenes/jet.gd @@ -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: diff --git a/scripts/jet_variants/base_jet.gd b/scripts/jet_variants/base_jet.gd index 99a72aa..4363a2c 100644 --- a/scripts/jet_variants/base_jet.gd +++ b/scripts/jet_variants/base_jet.gd @@ -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)