extends KinematicBody2D const SPEED: int = 50 var player: KinematicBody2D = null var velocity: Vector2 = Vector2.ZERO func _physics_process(_delta: float) -> void: velocity = Vector2.ZERO if player and position.distance_to(player.position) > 1: velocity = position.direction_to(player.position).normalized() * SPEED velocity = move_and_slide(velocity) return func _on_player_detector_body_entered(body: Node) -> void: if 'player' in body.get_groups(): player = body return func _on_player_detector_body_exited(body: Node) -> void: if 'player' in body.get_groups(): player = null return