scale when clicking on character

This commit is contained in:
Booklordofthedings 2024-08-18 12:09:28 +02:00
parent b0d6a99853
commit fb7a9c3852
2 changed files with 17 additions and 17 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="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="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="Shader" path="res://shaders/scrolling.gdshader" id="4_0x2h7"]
[ext_resource type="Texture2D" uid="uid://c61y0181w3sq2" path="res://textures/Level 01.png" id="5_4p03u"] [ext_resource type="Texture2D" uid="uid://bki6ucvk6bjwk" 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" uid="uid://d0gpnqknarkg7" 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://cpa66thuxma15" path="res://objects/MirrorOrb.tscn" id="7_dyi0e"]
[ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlock.tscn" id="8_ec71m"] [ext_resource type="PackedScene" uid="uid://br6fngf5208j0" path="res://objects/ResizableBlock.tscn" id="8_ec71m"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_e817v"]

View file

@ -3,45 +3,45 @@ extends Node
@export var player : CharacterBody2D; @export var player : CharacterBody2D;
var current_selected = "none"; var current_selected = "none";
var this_frame = true;
@export var scale_duration: float = 0.5 @export var scale_duration: float = 0.5
var target_scale: Vector2 = Vector2(1, 1) var target_scale: Vector2 = Vector2(1, 1)
func _unhandled_input(event: InputEvent) -> void:
func _process(delta: float) -> void: if event.is_action_pressed("click"):
if Input.is_action_just_pressed("click") and this_frame:
if current_selected == "scale_up": if current_selected == "scale_up":
scale_up() scale_up()
elif current_selected == "scale_down": elif current_selected == "scale_down":
scale_down() scale_down()
elif current_selected == "mirror": elif current_selected == "mirror":
mirror(); mirror();
this_frame = true
func select_up(): func select_up():
current_selected = "scale_up" current_selected = "scale_up"
this_frame = false
func select_down(): func select_down():
current_selected = "scale_down" current_selected = "scale_down"
this_frame = false
func select_mirror(): func select_mirror():
current_selected = "mirror" current_selected = "mirror"
this_frame = false
func scale_up(): func scale_up():
if player: var pPos = player.position
target_scale = Vector2(3.0, 3.0) 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() start_scaling()
func scale_down(): func scale_down():
if player: var pPos = player.position
target_scale = Vector2(0.5, 0.5) 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() start_scaling()
func start_scaling(): func start_scaling():