extends CharacterBody2D @export var MAX_SPEED: float = 200 @export var SHOOT_NODE: PackedScene const SPEED = 25.0 const JUMP_VELOCITY = -400.0 var mouse_position: Vector2 = Vector2.ZERO var direction :=Vector2(1,0) var horizontal : float var vertical : float var rota_temp: float var delay := 0.0 func _input(event): pass if event is InputEventMouseMotion: mouse_position = event.position func _physics_process(delta: float) -> void: delay += delta if Input.is_action_pressed("ui_accept") and delay >= 0.5: shoot() delay = 0 horizontal = Input.get_axis("ui_up", "ui_down") vertical = Input.get_axis("ui_left", "ui_right") if vertical != 0: velocity.x = move_toward(velocity.x, MAX_SPEED * vertical, SPEED) else: velocity.x = move_toward(velocity.x, 0, SPEED) if horizontal != 0: velocity.y = move_toward(velocity.y, MAX_SPEED * horizontal, SPEED) else: velocity.y = move_toward(velocity.y, 0, SPEED) if horizontal != 0 or vertical != 0: direction = velocity rotation = atan2(horizontal, vertical) move_and_slide() func shoot()->void: var new = SHOOT_NODE.instantiate() new.direction = direction new.position = position + (18 * direction.normalized()) get_parent().add_child(new)