41 lines
1.1 KiB
GDScript
41 lines
1.1 KiB
GDScript
extends Node
|
|
|
|
@export var player: CharacterBody2D
|
|
|
|
var current_selected = "none"
|
|
@export var scale_duration: float = 0.5
|
|
var target_scale_player: Vector2 = Vector2(1, 1)
|
|
var target_scale_block: Vector2 = Vector2(1, 1)
|
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
|
if event.is_action_pressed("click"):
|
|
if current_selected == "scale_up":
|
|
current_selected = "scale_up"
|
|
elif current_selected == "scale_down":
|
|
current_selected = "scale_down"
|
|
elif current_selected == "mirror":
|
|
mirror()
|
|
|
|
func select_up():
|
|
current_selected = "scale_up"
|
|
|
|
func select_down():
|
|
current_selected = "scale_down"
|
|
|
|
func select_mirror():
|
|
current_selected = "mirror"
|
|
|
|
func start_scaling(target_node: Node2D, scale_value: Vector2):
|
|
var tween = create_tween()
|
|
tween.tween_property(target_node, "scale", scale_value, scale_duration)
|
|
|
|
func scale_up_player():
|
|
target_scale_player = Vector2(0.5, 0.5)
|
|
start_scaling(player, target_scale_player)
|
|
|
|
func scale_down_player():
|
|
target_scale_player = Vector2(2.0, 2.0)
|
|
start_scaling(player, target_scale_player)
|
|
|
|
func mirror():
|
|
pass # Mirror-Funktionalität hier einfügen
|