【unity】一定時間ごとに敵が出てくるようにする【 青いアイコン、スポナー(出現装置)】

前回の記事
www.momino1234.com

ゴール

一定時間ごとに敵が出てくるようにする

全体の流れ

① 敵のプレハブを作る
② スポナー(出現装置)を作る
③ スクリプトを書く

敵をプレハブにする

Hierarchy欄にあるenemyを
👉 ProjectのAssetsにドラッグ

すると👇
👉 青いアイコンの「enemy」ができる(これがプレハブ)

スポナーを作る

Hierarchyの欄で右クリック
👉 Create Empty
👉 名前を EnemySpawnerにする

位置を調整

👉 上の方(例:Y = 5)

スクリプトを作る

Assetsで右クリック👇
👉 Create →empty C# Script

名前👇
👉 EnemySpawner


コード

  1. using UnityEngine;
  2. public class EnemySpawner : MonoBehaviour
  3. {
  4.     public GameObject enemyPrefab; // 敵
  5.     public float spawnInterval = 2f; // 出る間隔
  6.     public float spawnRangeX = 5f; // 横の範囲
  7.     void Start()
  8.     {
  9.         InvokeRepeating("SpawnEnemy", 1f, spawnInterval);
  10.     }
  11.     void SpawnEnemy()
  12.     {
  13.         float x = Random.Range(-spawnRangeX, spawnRangeX);
  14.         Vector3 pos = new Vector3(x, transform.position.y, 0);
  15.         Instantiate(enemyPrefab, pos, Quaternion.identity);
  16.     }
  17. }



👉Hierarchyの欄のEnemySpawnerに

👉 EnemySpawnerスクリプトをドラッグして追加

Unityで設定

EnemySpawnerを選択

Inspectorを見る

👉 Enemy Prefab が空になってる

そこに👇
👉 作ったEnemyプレハブをドラッグ


再生

▶️ Play押すと
👉 上に敵がポンポン出てくる

よくあるミス

❌ 敵が出ない

👉 enemyPrefabが空

❌ 出るけど見えない

👉 Zが違う(0にする)

❌ 同じ場所からしか出ない

👉 spawnRangeXを大きく


次の記事
www.momino1234.com