52 lines
1.2 KiB
GDScript
52 lines
1.2 KiB
GDScript
extends Node
|
|
|
|
@export var player : CharacterBody2D;
|
|
|
|
var current_selected = "none";
|
|
|
|
@export var scale_duration: float = 0.5
|
|
var target_scale: Vector2 = Vector2(1, 1)
|
|
|
|
func _unhandled_input(event: InputEvent) -> void:
|
|
if event.is_action_pressed("click"):
|
|
if current_selected == "scale_up":
|
|
scale_up()
|
|
elif current_selected == "scale_down":
|
|
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 scale_up():
|
|
var pPos = player.position
|
|
pPos.x += 1280/2
|
|
pPos.y += 720/2
|
|
if player.scale.x < 2 and get_viewport().get_mouse_position().distance_to(pPos) < 12:
|
|
target_scale = Vector2(2.0, 2.0)
|
|
start_scaling()
|
|
|
|
func scale_down():
|
|
var pPos = player.position
|
|
pPos.x += 1280/2
|
|
pPos.y += 720/2
|
|
if player.scale.x > 1 and get_viewport().get_mouse_position().distance_to(pPos) < 12:
|
|
target_scale = Vector2(1, 1)
|
|
start_scaling()
|
|
|
|
func start_scaling():
|
|
var tween = create_tween()
|
|
tween.tween_property(player, "scale", target_scale, scale_duration)
|
|
|
|
func mirror():
|
|
pass #Hir mirror einbauen einbauen
|