bovido/scripts/player/states/player_walk_state.gd

27 lines
732 B
GDScript3
Raw Normal View History

class_name PlayerWalkState
extends PlayerState
func enter(_msg := {}):
player.animation_player.play("walk")
func physics_update(delta):
var direction = get_input_direction()
var velocity = direction * player.speed
var collision = player.move_and_collide(velocity * delta)
if collision and Input.is_action_pressed("hit"):
state_machine.transition_to("Throw")
if velocity == Vector2.ZERO:
state_machine.transition_to("Idle")
func get_input_direction():
var direction = Input.get_vector("move_left", "move_right", "move_up", "move_down")
if Input.is_action_pressed("move_left"):
player.sprite.flip_h = true
elif Input.is_action_pressed("move_right"):
player.sprite.flip_h = false
return direction