smashball/scenes/player/states/running.gd

35 lines
969 B
GDScript

extends PlayerState
func _enter(_previous_state_path: String, _data: Dictionary = {}) -> void:
print("entering running")
player.move_and_slide()
func _state_physics_update(_delta: float) -> void:
var movement_vector: Vector2 = player.get_movement_vector()
var direction: Vector2 = movement_vector.normalized()
player.velocity = direction * player.max_speed
player.move_and_slide()
if movement_vector.length() <= player.DEADZONE:
finished.emit(IDLE)
return
elif Input.is_action_just_pressed("hit_left"):
finished.emit(HITTING, {hit_dir = "left"})
return
elif Input.is_action_just_pressed("hit_right"):
finished.emit(HITTING, {hit_dir = "right"})
return
if abs(player.velocity.x) > abs(player.velocity.y):
player.anim_dir = 'right' if player.velocity.x > 0 else 'left'
else:
player.anim_dir = 'down' if player.velocity.y > 0 else 'up'
player.sprite.play(player.anim_dir)
func _exit() -> void:
player.sprite.stop()
print("exit")