Mål: Lägg till UI för att visa växel och rattvinkel, och justera bilens rotation för att simulera framaxelstyrning.
Skapa UI-element:
Spara referenser till UI-elementen:
gear_label och steering_wheel i _ready för enklare åtkomst. var gear_label
var steering_wheel
func _ready() -> void:
gear_label = get_node("CanvasLayer/GearLabel") # kanske behöver uppdatera sökvägen
steering_wheel = get_node("CanvasLayer/SteeringWheel")
update_gear_display()
func update_gear_display() -> void:
if gear > 0:
gear_label.text = "Växel: " + str(gear)
elif gear < 0:
gear_label.text = "Växel: R"
else:
gear_label.text = "Växel: N"
func update_steering_wheel() -> void:
steering_wheel.rotation_degrees = steering_angle * 2
_process:update_gear_display() och update_steering_wheel() i _process så att UI hålls uppdaterat. @export var wheelbase := 100.0
steering_angle och speed för att uppdatera bilens rotation. if speed != 0:
var turning_radius = wheelbase / tan(deg_to_rad(steering_angle)) if steering_angle != 0 else INF
var angular_velocity = speed / turning_radius
rotation += angular_velocity * delta * sign(speed)