connect resizing of player and object

This commit is contained in:
Fabio 2024-08-18 13:04:09 +02:00
parent fb7a9c3852
commit 1734ce0c47
3 changed files with 44 additions and 50 deletions

View file

@ -3,9 +3,9 @@
[ext_resource type="PackedScene" uid="uid://ba6afuig8bqrg" path="res://levels/LevelBase.tscn" id="1_87xn7"]
[ext_resource type="Texture2D" uid="uid://c3m4os8kteaix" path="res://textures/level01-spritesheet.png" id="2_wqskp"]
[ext_resource type="Shader" path="res://shaders/scrolling.gdshader" id="4_0x2h7"]
[ext_resource type="Texture2D" uid="uid://bki6ucvk6bjwk" path="res://textures/Level 01.png" id="5_4p03u"]
[ext_resource type="PackedScene" uid="uid://d0gpnqknarkg7" path="res://objects/Goal.tscn" id="6_xhax5"]
[ext_resource type="PackedScene" uid="uid://cpa66thuxma15" path="res://objects/MirrorOrb.tscn" id="7_dyi0e"]
[ext_resource type="Texture2D" uid="uid://c61y0181w3sq2" path="res://textures/Level 01.png" id="5_4p03u"]
[ext_resource type="PackedScene" path="res://objects/Goal.tscn" id="6_xhax5"]
[ext_resource type="PackedScene" path="res://objects/MirrorOrb.tscn" id="7_dyi0e"]
[ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlock.tscn" id="8_ec71m"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"]
@ -166,6 +166,7 @@ position = Vector2(582, -317)
[node name="MirrorOrb" parent="." index="8" instance=ExtResource("7_dyi0e")]
position = Vector2(-431, -212)
[node name="Block" parent="." index="9" instance=ExtResource("8_ec71m")]
[node name="Block" parent="." index="9" node_paths=PackedStringArray("ui_actions") instance=ExtResource("8_ec71m")]
position = Vector2(476, 253)
collision_layer = 1
ui_actions = NodePath("../UILayer/UI")

View file

@ -3,22 +3,26 @@ extends StaticBody2D
@export var scale_up_target: Vector2 = Vector2(3.0, 3.0)
@export var scale_down_target: Vector2 = Vector2(0.5, 0.5)
@export var scale_duration: float = 0.5
@export var ui_actions: Node
func _ready():
if ui_actions == null:
ui_actions = get_parent().get_node("Path/To/UiActionsNode")
func _on_input_event(viewport, event, shape_idx):
if event is InputEventMouseButton and event.pressed:
if event.is_action_pressed("click"):
if ui_actions.current_selected == "scale_up":
scale_up()
ui_actions.scale_up_player()
elif ui_actions.current_selected == "scale_down":
scale_down()
ui_actions.scale_down_player()
func scale_up():
var tween = create_tween()
tween.tween_property(self, "scale", scale_up_target, scale_duration)
# TODO: scale the player
func scale_down():
var tween = create_tween()
tween.tween_property(self, "scale", scale_down_target, scale_duration)
# TODO: scale the player
func _on_input_event(viewport, event, shape_idx):
print("works")
if event is InputEventMouseButton and event.pressed:
if Input.is_action_just_pressed("click"):
scale_up()
elif Input.is_action_just_pressed("clickR"):
scale_down()

View file

@ -1,21 +1,20 @@
extends Node
@export var player : CharacterBody2D;
var current_selected = "none";
@export var player: CharacterBody2D
var current_selected = "none"
@export var scale_duration: float = 0.5
var target_scale: Vector2 = Vector2(1, 1)
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":
scale_up()
current_selected = "scale_up"
elif current_selected == "scale_down":
scale_down()
current_selected = "scale_down"
elif current_selected == "mirror":
mirror();
mirror()
func select_up():
current_selected = "scale_up"
@ -23,30 +22,20 @@ func select_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():
func start_scaling(target_node: Node2D, scale_value: Vector2):
var tween = create_tween()
tween.tween_property(player, "scale", target_scale, scale_duration)
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 #Hir mirror einbauen einbauen
pass # Mirror-Funktionalität hier einfügen