Mål: Lägg till växlingar för att justera maxhastighet och implementera en enkel rattstyrning.
@export var base_max_speed := 100.0
@export var max_gear := 5
@export var min_gear := -1
var gear := 1 # Startväxeln är framåt
Skapa input för växlingar:
gear_up: koppla till pil uppgear_down: koppla till pil nedImplementera växeländring:
handle_gear_change() som hanterar växeländringar och justerar maxhastigheten: func handle_gear_change() -> void:
if Input.is_action_just_pressed("gear_up") and gear < max_gear:
gear += 1
elif Input.is_action_just_pressed("gear_down") and gear > min_gear:
gear -= 1
# Justera maxhastighet baserat på växeln
max_speed = base_max_speed * abs(gear)
_process:handle_gear_change() i _process så att växlarna uppdateras varje frame. @export var max_steering_angle := 40.0
var steering_angle := 0.0
Skapa input för styrning:
turn_left: koppla till Aturn_right: koppla till DImplementera styrning:
_process: func update_steering_angle(delta: float) -> void:
if Input.is_action_pressed("turn_right"):
steering_angle = min(steering_angle + 100 * delta, max_steering_angle)
elif Input.is_action_pressed("turn_left"):
steering_angle = max(steering_angle - 100 * delta, -max_steering_angle)
else:
steering_angle = move_toward(steering_angle, 0, 60.0 * delta)
_process: rotation += deg_to_rad(steering_angle) * delta