diff options
Diffstat (limited to 'cursor.gd')
-rw-r--r-- | cursor.gd | 38 |
1 files changed, 10 insertions, 28 deletions
@@ -1,26 +1,17 @@ extends Node2D -var sprite: Sprite - var current_action_idx := 0 var last_action_idx := 0 func _ready() -> void: - sprite = preload("res://sprite.tscn").instantiate() - sprite.load_file("res://data/extracted/data/sprite/cursors.spr") - add_child(sprite) - - sprite.action_data.frame_times[0] *= 2.0 - for idx in sprite.action_data.frame_times.size(): - sprite.action_data.frame_times[idx] *= 1.0 - Input.mouse_mode = Input.MOUSE_MODE_HIDDEN + $Actions.play("000") func _process(_delta: float) -> void: - sprite.global_position = get_global_mouse_position() + global_position = get_global_mouse_position() if Input.get_current_cursor_shape() == Input.CURSOR_ARROW: current_action_idx = 0 @@ -29,22 +20,13 @@ func _process(_delta: float) -> void: else: current_action_idx = -1 - if current_action_idx == -1: - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - sprite.visible = false - elif current_action_idx != last_action_idx: - sprite.set_current_action(current_action_idx) - Input.mouse_mode = Input.MOUSE_MODE_HIDDEN - sprite.visible = true - - if current_action_idx == 0 and sprite.get_node("%SpriteLayers").get_child_count() == 1: - Input.set_custom_mouse_cursor(sprite.get_node("%SpriteLayers").get_child(0).texture.get_image()) - Input.mouse_mode = Input.MOUSE_MODE_VISIBLE - sprite.visible = false + if current_action_idx != last_action_idx: + if current_action_idx == -1: + Input.mouse_mode = Input.MOUSE_MODE_VISIBLE + $Actions.visible = false + else: + Input.mouse_mode = Input.MOUSE_MODE_HIDDEN + $Actions.visible = true + $Actions.play(str(current_action_idx).pad_zeros(3)) last_action_idx = current_action_idx - - -func _input(event: InputEvent) -> void: - if event is InputEventMouseButton: - pass |