From ddd0fdff22269b7ec6e8af33a8d57c15dd902617 Mon Sep 17 00:00:00 2001 From: Fabio Date: Mon, 19 Aug 2024 04:05:02 +0200 Subject: [PATCH] add custom cursor --- gmtk_2024/project.godot | 1 + gmtk_2024/scripts/player_movement.gd | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/gmtk_2024/project.godot b/gmtk_2024/project.godot index 6592e74..3ccd342 100644 --- a/gmtk_2024/project.godot +++ b/gmtk_2024/project.godot @@ -21,6 +21,7 @@ window/size/viewport_width=640 window/size/viewport_height=320 window/size/mode=2 window/stretch/mode="viewport" +mouse_cursor/custom_image="res://textures/cursor_normal.png" [input] diff --git a/gmtk_2024/scripts/player_movement.gd b/gmtk_2024/scripts/player_movement.gd index 6e9f3be..9bb2685 100644 --- a/gmtk_2024/scripts/player_movement.gd +++ b/gmtk_2024/scripts/player_movement.gd @@ -17,6 +17,9 @@ var target_scale var current_selected = "none" var target_scale_player: Vector2 = Vector2(1, 1) +var cursor_scale_up = preload("res://textures/cursor_scale_up.png") +var cursor_scale_down = preload("res://textures/cursor_scale_down.png") + func _ready(): data_link = $data_link @@ -78,6 +81,7 @@ func _physics_process(delta): velocity.y += gravity move_and_slide() update_data_link() + update_cursor() func Jump(): velocity.y = -1 * jump_strength @@ -96,6 +100,14 @@ func update_data_link(): else: data_link.visible = false +func update_cursor(): + var nearest_block = find_nearest_block() + if nearest_block: + if nearest_block.scale == Vector2(0.5, 0.5) and self.scale == Vector2(2.0, 2.0): + Input.set_custom_mouse_cursor(cursor_scale_up) + elif nearest_block.scale == Vector2(1.0, 1.0) and self.scale == Vector2(1.0, 1.0): + Input.set_custom_mouse_cursor(cursor_scale_down) + func find_nearest_block() -> Node2D: if not get_tree(): return null