gai-godot-games/state/scenes/state/state_idle.gd

17 lines
573 B
GDScript

extends State
var idle_target: Vector2 = Vector2.ZERO
func state_enter():
idle_target = Vector2(rand_range(0, get_viewport().size.x), rand_range(0, get_viewport().size.y))
func state_process(delta: float) -> void:
# move towards the idle_target until reached, then set a new target randomly on the screen
if character.position.distance_to(idle_target) < 10:
idle_target = Vector2(rand_range(0, get_viewport().size.x), rand_range(0, get_viewport().size.y))
else:
character.move_towards(idle_target, delta)
character.move_and_slide()