fx: drag to move

This commit is contained in:
2026-03-15 16:11:30 +01:00
parent 01f1b52086
commit 6239bbdd73

View File

@@ -24,6 +24,7 @@ var isAlive: bool = true
@onready var invulnerable_cooldown_timer: Timer = $InvulnerableCooldownTimer @onready var invulnerable_cooldown_timer: Timer = $InvulnerableCooldownTimer
var hasiframes: bool = false # only used for iframe after collision for now var hasiframes: bool = false # only used for iframe after collision for now
var target = Vector2.ZERO # either vector2 or Node2D var target = Vector2.ZERO # either vector2 or Node2D
var updating_target: bool = false
func _ready() -> void: func _ready() -> void:
var screen_size = get_viewport_rect().size var screen_size = get_viewport_rect().size
@@ -40,6 +41,17 @@ func _input(event):
# TODO: only does clicks/taps; accept mouse drags # TODO: only does clicks/taps; accept mouse drags
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed: if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
target = get_global_mouse_position() target = get_global_mouse_position()
if event is InputEventMouseButton and event.button_index == MOUSE_BUTTON_LEFT:
if event.pressed:
# start tracking
target = get_global_mouse_position()
updating_target = true
else:
# stop tracking
updating_target = false
if updating_target and event is InputEventMouseMotion:
target = get_global_mouse_position()
func _physics_process(delta): func _physics_process(delta):
var pos var pos