ニュース

Top  >   6. GameObject・Component・Transform  >   Q, 複数の敵やアイテムを一つのリストで管理したい

Q, 複数の敵やアイテムを一つのリストで管理したい

2026/03/18

メインコンテンツへスキップ
< すべてのカテゴリに戻る

A,結論

List クラスを使います。

原因 / 背景

配列よりも要素の追加や削除が容易で、管理がしやすいためです。

実装 / 手順

List<GameObject> を宣言し、Add で追加します。

サンプルコード

using System.Collections.Generic;
using UnityEngine;

public class EnemyListManager : MonoBehaviour
{
    [SerializeField] private List<GameObject> enemies = new();

    public void Register(GameObject enemy)
    {
        if (enemy != null && !enemies.Contains(enemy))
        {
            enemies.Add(enemy);
        }
    }

    public void Remove(GameObject enemy)
    {
        if (enemy != null)
        {
            enemies.Remove(enemy);
        }
    }

    public GameObject GetNearest(Vector3 point)
    {
        GameObject nearest = null;
        float bestDistance = float.MaxValue;

        foreach (GameObject enemy in enemies)
        {
            if (enemy == null) continue;

            float distance = Vector3.Distance(point, enemy.transform.position);
            if (distance < bestDistance)
            {
                bestDistance = distance;
                nearest = enemy;
            }
        }

        return nearest;
    }
}

※ 実機確認が必要な項目は、Editor だけで判断せず対象デバイスでも必ず動作確認してください。

難易度:Level 2(初心者)
対象プラットフォーム:PC,Unity
関連キーワード:リスト,管理,複数,配列

Level 1-2 向けバナー