From 1497a8a93122295c0cb51b0eafac50d02ba08c8a Mon Sep 17 00:00:00 2001 From: lukas Date: Mon, 13 Jul 2026 16:10:54 +0200 Subject: [PATCH] lepsi ovladani postavy + state debug --- Scenes/label.gd | 11 +++++++++++ Scenes/label.gd.uid | 1 + Scenes/main.tscn | 7 ++++--- Scenes/parallax.tscn | 1 + Scenes/player.gd | 3 ++- Scenes/player.tscn | 9 +++++++++ Scenes/states/jump.gd | 3 +++ Scenes/states/run.gd | 8 +++++--- 8 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 Scenes/label.gd create mode 100644 Scenes/label.gd.uid diff --git a/Scenes/label.gd b/Scenes/label.gd new file mode 100644 index 0000000..efa8fa1 --- /dev/null +++ b/Scenes/label.gd @@ -0,0 +1,11 @@ +extends Label + +@onready var statemachine = $"../StateMachine" +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + self.text = str(statemachine.current_state) diff --git a/Scenes/label.gd.uid b/Scenes/label.gd.uid new file mode 100644 index 0000000..9a29c27 --- /dev/null +++ b/Scenes/label.gd.uid @@ -0,0 +1 @@ +uid://kjmyw7k0wrla diff --git a/Scenes/main.tscn b/Scenes/main.tscn index 380ce47..372b0e1 100644 --- a/Scenes/main.tscn +++ b/Scenes/main.tscn @@ -10,12 +10,13 @@ position = Vector2(36, 132) [node name="PlayerCamera" type="Camera2D" parent="Player" unique_id=894855924] -limit_left = -3 +limit_left = -15 limit_top = 29 -limit_right = 675 -limit_bottom = 243 +limit_right = 663 +limit_bottom = 245 [node name="Level1" parent="." unique_id=296764534 instance=ExtResource("2_8gbba")] +position = Vector2(-10, 5) [node name="Parallax" parent="." unique_id=294865399 instance=ExtResource("3_8gbba")] z_index = -1 diff --git a/Scenes/parallax.tscn b/Scenes/parallax.tscn index 80a3753..59558ee 100644 --- a/Scenes/parallax.tscn +++ b/Scenes/parallax.tscn @@ -10,6 +10,7 @@ [node name="Background" type="Parallax2D" parent="." unique_id=1430177573] scroll_scale = Vector2(0.3, 0) repeat_size = Vector2(144, 0) +autoscroll = Vector2(1, 0) repeat_times = 6 [node name="Sprite2D" type="Sprite2D" parent="Background" unique_id=277623484] diff --git a/Scenes/player.gd b/Scenes/player.gd index d6f4f11..2316fdd 100644 --- a/Scenes/player.gd +++ b/Scenes/player.gd @@ -10,7 +10,7 @@ var coyote_timer = 0.0 var jump_buffer_timer = 0.0 @onready var sprite = $Sprite2D - +@onready var statemachine = $StateMachine func _physics_process(delta: float) -> void: if is_on_floor(): @@ -27,3 +27,4 @@ func _physics_process(delta: float) -> void: sprite.flip_h = true if Input.is_action_pressed("right"): sprite.flip_h = false + print(statemachine.current_state) diff --git a/Scenes/player.tscn b/Scenes/player.tscn index b9d3ce4..cd02f9a 100644 --- a/Scenes/player.tscn +++ b/Scenes/player.tscn @@ -10,6 +10,7 @@ [ext_resource type="Texture2D" uid="uid://j7wi6lleeuhs" path="res://Assets/herochar sprites(new)/herochar_jump_up_anim_strip_3.png" id="4_tx1dd"] [ext_resource type="Script" uid="uid://cs4hwvx5e2aag" path="res://Scenes/states/jump.gd" id="5_jump"] [ext_resource type="Script" uid="uid://bojgwc2h0yevj" path="res://Scenes/states/fall.gd" id="10_tx1dd"] +[ext_resource type="Script" uid="uid://kjmyw7k0wrla" path="res://Scenes/label.gd" id="11_gymyn"] [sub_resource type="AtlasTexture" id="AtlasTexture_qqcod"] atlas = ExtResource("2_f1ek2") @@ -178,3 +179,11 @@ script = ExtResource("5_jump") [node name="Fall" type="Node" parent="StateMachine" unique_id=1119815676] script = ExtResource("10_tx1dd") + +[node name="Label" type="Label" parent="." unique_id=1537806562] +offset_left = -19.0 +offset_top = -31.0 +offset_right = 21.0 +offset_bottom = -8.0 +text = "State" +script = ExtResource("11_gymyn") diff --git a/Scenes/states/jump.gd b/Scenes/states/jump.gd index f07f305..0355f13 100644 --- a/Scenes/states/jump.gd +++ b/Scenes/states/jump.gd @@ -16,3 +16,6 @@ func physics_update(delta: float) -> void: if player.velocity.y > 0: state_machine.transition_to("Fall") + +func exit() -> void: + pass diff --git a/Scenes/states/run.gd b/Scenes/states/run.gd index ae17b9b..3d46ac5 100644 --- a/Scenes/states/run.gd +++ b/Scenes/states/run.gd @@ -7,15 +7,17 @@ func physics_update(delta: float) -> void: var direction := Input.get_axis("left", "right") if direction: - player.velocity.x = move_toward(player.velocity.x, direction * player.SPEED, player.SPEED * 5 * delta) + player.velocity.x = move_toward(player.velocity.x, direction * player.SPEED, player.SPEED * 15 * delta) #player.velocity.x = direction * player.SPEED else: - player.velocity.x = move_toward(player.velocity.x, 0, player.SPEED * 10 * delta) # Decelerate to a stop + player.velocity.x = move_toward(player.velocity.x, 0, player.SPEED * 5 * delta) # Decelerate to a stop player.move_and_slide() player.sprite.play("run") if player.jump_buffer_timer > 0: if player.is_on_floor() or player.coyote_timer > 0: state_machine.transition_to("Jump") - elif direction == 0: + elif not player.is_on_floor() and player.velocity.y > 0: + state_machine.transition_to("Fall") + elif player.velocity.x == 0: state_machine.transition_to("Idle")