Pipe.gd 656 B

123456789101112131415161718192021222324
  1. extends PlayerState
  2. const ENTER_SPEED := 50
  3. func enter(_msg := {}) -> void:
  4. player.can_hurt = false
  5. player.velocity = Vector2.ZERO
  6. player.z_index = -5
  7. physics_update(0)
  8. func physics_update(delta: float) -> void:
  9. player.global_position += (ENTER_SPEED * (player.pipe_enter_direction * player.pipe_move_direction)) * delta
  10. if player.pipe_enter_direction.x != 0:
  11. player.sprite.speed_scale = 1
  12. player.play_animation("PipeWalk")
  13. player.direction = int(player.pipe_enter_direction.x)
  14. player.sprite.scale.x = player.direction
  15. else:
  16. player.play_animation("Pipe")
  17. func exit() -> void:
  18. player.can_hurt = true
  19. player.z_index = 1
  20. player.show()