Godot Version
4.5
Question
Hello I’m trying to make a enemy spawner but i don’t know how to assign my “target_to_chase” through code
this is my enemy code
@onready var sprite: Sprite2D = $Sprite2D
@onready var timer: Timer = $Enemies_Area2D/Timer
@onready var navigation_agent: NavigationAgent2D = $NavigationAgent2D
@export var target_to_chase: = CharacterBody2D
var health = 100
const SPEED = 200.0
func _ready() -> void:
set_physics_process(false)
call_deferred("wait_for_physics")
func wait_for_physics():
await get_tree().physics_frame
set_physics_process(true)
func _process(delta: float) -> void:
if health <= 0:
queue_free()
func _physics_process(delta: float) -> void:
if navigation_agent.is_navigation_finished() and\
target_to_chase.global_position == navigation_agent.target_position:
return
navigation_agent.target_position = target_to_chase.global_position
velocity = global_position.direction_to(navigation_agent.get_next_path_position()) * SPEED
move_and_slide()
func _on_enemies_area_2d_area_entered(area: Area2D) -> void:
if area.name == ("Enemy_Killzone"):
sprite.modulate = Color.RED
health -= 20
timer.start()
func _on_timer_timeout() -> void:
sprite.modulate = Color.WHITE
this is my spawner code
extends Node2D
const ENEMY = preload("res://Scenes/Enemies/enemy_test.tscn")
var time_in_seconds = 10
func _ready() -> void:
while time_in_seconds < 11:
await get_tree().create_timer(time_in_seconds).timeout
var enemy_instiance = ENEMY.instantiate()
get_tree().root.add_child(enemy_instiance)
