#@tool #@icon #class_name extends CharacterBody2D ## Top-down player controller ## Signals ## Enums ## Constants ## @export variables @export var speed: int = 100 @export var turning_speed: float = 0.1 ## Regular variables var thrust: float = 0.0 var rudder: float = 0.0 var yaw var heading: Vector2 = Vector2.UP ## @onready variables ## Overridden built-in virtual methods #func _init() -> void: #func _enter_tree() -> void: #func _ready() -> void: #func _process(_delta: float) -> void: func _physics_process(_delta: float) -> void: thrust = Input.get_axis("backward", "forward") rudder = Input.get_axis("turn_left", "turn_right") yaw = rudder * turning_speed heading = heading.rotated(yaw) rotate(yaw) velocity = thrust * heading * speed move_and_slide() ## Remaining virtual methods ## Overridden custom methods ## Remaining methods ## Subclasses