From f69577feb1771a6950b7ac8494eab0fb8543baa1 Mon Sep 17 00:00:00 2001 From: JP Dhabolt Date: Sun, 20 Oct 2024 06:18:06 -0400 Subject: [PATCH] FlipH and shift sprite when moving left --- game/scenes/characters/Player/Player.gd | 10 ++++++++++ .../systems/PlayerStateMachine/PlayerStateMachine.gd | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/game/scenes/characters/Player/Player.gd b/game/scenes/characters/Player/Player.gd index ccd0679..1214fa1 100644 --- a/game/scenes/characters/Player/Player.gd +++ b/game/scenes/characters/Player/Player.gd @@ -13,6 +13,8 @@ class_name Player @onready var state_machine := $PlayerStateMachine as PlayerStateMachine var elapsed_time: float = 0 +var sprite_x_pos_right: float = 10.5 +var sprite_x_pos_left: float = 9.5 func _process(delta: float): elapsed_time += delta @@ -32,3 +34,11 @@ func _on_terrain_generator_entered_water(body: Node2D): func _on_terrain_generator_exited_water(body: Node2D): if body is Player: state_machine.transition_to(state_machine.states.jumping) + +func face_left(): + sprite.flip_h = true + sprite.position.x = sprite_x_pos_left + +func face_right(): + sprite.flip_h = false + sprite.position.x = sprite_x_pos_right diff --git a/game/scenes/systems/PlayerStateMachine/PlayerStateMachine.gd b/game/scenes/systems/PlayerStateMachine/PlayerStateMachine.gd index 201be9d..2052234 100644 --- a/game/scenes/systems/PlayerStateMachine/PlayerStateMachine.gd +++ b/game/scenes/systems/PlayerStateMachine/PlayerStateMachine.gd @@ -59,6 +59,12 @@ func _handle_basic_movement(): if current_state.movement_allowed(): var movement = Input.get_axis("move_left", "move_right") player.velocity.x = movement * movement_speed + if movement != 0: + if movement < 0: + player.face_left() + else: + player.face_right() + player.move_and_slide() _handle_speed_updates()