[08]エネミーをランダムに出現させる
メインシーンにNode2D、Timerを追加してエネミーをランダムに出現させる

Timerは1.5秒。

エネミーは数種類、用意するのでランダムエネミーは配列にしてインスペクターにエネミーシーンをドラッグ

スクリプト
1.5秒タイムアウトごとにエネミーをX:40~480、Y:50に出現させる
extends Node2D
# ランダムエネミー
@export var enemies: Array[PackedScene] = []
@onready var enemy_node: Node2D = $EnemyNode
@onready var enemy_spawn_timer: Timer = $EnemySpawnTimer
func _ready() -> void:
# マウスカーソルを消す
Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
func _process(delta: float) -> void:
# ESCでマウスカーソルを出す
if Input.is_action_just_pressed("ui_cancel"):
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
func _on_enemy_spawn_timer_timeout() -> void:
var enemy = enemies.pick_random().instantiate()
enemy.global_position = Vector2(randf_range(40, 440) , 50)
enemy_node.add_child(enemy)