extends KinematicBody2D const SPEED: int = 60 var player: KinematicBody2D = null var velocity: Vector2 = Vector2.ZERO func _physics_process(_delta: float) -> void: velocity = Vector2.ZERO if player: velocity = position.direction_to(player.position).normalized() * SPEED var angle = position.angle_to_point(player.position) if abs(angle) > PI/2: $AnimatedSprite1.scale.x = -0.563 else: $AnimatedSprite1.scale.x = 0.563 velocity = move_and_slide(velocity) return func _on_player_detector_area_entered(area: Area2D) -> void: if area.get_parent().name == 'Player': player = area.get_parent() $AnimatedSprite1.animation = "Running" return func _on_player_detector_area_exited(_area: Area2D): player = null $AnimatedSprite1.animation = "Idle" return func _on_Player_Attack_area_entered(area: Area2D) -> void: if area.get_parent().name == 'Player': player = area.get_parent() $AnimatedSprite1.animation = "Jump" return func _on_Player_Attack_area_exited(area: Area2D) -> void: player = null $AnimatedSprite1.animation = "Running" return