Fixed acceleration not matching direction
This commit is contained in:
+1
-1
@@ -72,6 +72,6 @@ throttle_up={
|
|||||||
}
|
}
|
||||||
throttle_down={
|
throttle_down={
|
||||||
"deadzone": 0.2,
|
"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)
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ func _physics_process(delta: float) -> void:
|
|||||||
if action:
|
if action:
|
||||||
control_frame.do_action(action, delta, self)
|
control_frame.do_action(action, delta, self)
|
||||||
|
|
||||||
|
velocity = -transform.basis.z * control_frame.speed
|
||||||
move_and_slide()
|
move_and_slide()
|
||||||
|
|
||||||
#func _unhandled_input(event: InputEvent) -> void:
|
#func _unhandled_input(event: InputEvent) -> void:
|
||||||
|
|||||||
@@ -8,7 +8,9 @@ var YAW_SPEED: int = 50
|
|||||||
var ROLL_SPEED: int = 100
|
var ROLL_SPEED: int = 100
|
||||||
var MIN_SPEED: int = 200
|
var MIN_SPEED: int = 200
|
||||||
var MAX_SPEED: int = 2000
|
var MAX_SPEED: int = 2000
|
||||||
var ACCELERATION: int = 5
|
var ACCELERATION: int = 15
|
||||||
|
|
||||||
|
var speed: float = float(MIN_SPEED)
|
||||||
|
|
||||||
|
|
||||||
func do_action(
|
func do_action(
|
||||||
@@ -32,9 +34,9 @@ func do_action(
|
|||||||
"roll_right":
|
"roll_right":
|
||||||
roll_right(change_rate, jet)
|
roll_right(change_rate, jet)
|
||||||
"throttle_up":
|
"throttle_up":
|
||||||
throttle_up(delta, jet)
|
throttle_up(delta)
|
||||||
"throttle_down":
|
"throttle_down":
|
||||||
throttle_down(delta, jet)
|
throttle_down(delta)
|
||||||
_:
|
_:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -56,20 +58,8 @@ func roll_left(change_rate: float, jet: Jet) -> void:
|
|||||||
func roll_right(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)
|
jet.rotate_object_local(Vector3.FORWARD, change_rate * ROLL_SPEED)
|
||||||
|
|
||||||
func throttle_up(delta: float, jet: Jet) -> void:
|
func throttle_up(delta: float) -> void:
|
||||||
jet.velocity += (jet.transform.basis.z * -(delta * ACCELERATION))
|
speed = move_toward(speed, MAX_SPEED, ACCELERATION * delta)
|
||||||
#clamp(
|
|
||||||
#jet.velocity,
|
|
||||||
#MIN_SPEED * Vector3.ONE,
|
|
||||||
#MAX_SPEED * Vector3.ONE
|
|
||||||
#)
|
|
||||||
|
|
||||||
jet.velocity = jet.velocity.limit_length(MAX_SPEED)
|
func throttle_down(delta: float) -> void:
|
||||||
|
speed = move_toward(speed, MIN_SPEED, ACCELERATION * delta)
|
||||||
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
|
|
||||||
)
|
|
||||||
|
|||||||
Reference in New Issue
Block a user