同じタグの付いた複数のオブジェクトを、すべてリストに追加できるように、スクリプトを作成してみましょう。
ヒエラルキービューの中から、タグ付きオブジェクトを見つけ、いったん全て配列に格納。
その後、配列からリストへ追加していきます。
関連記事:
ぶつかったオブジェクトの名前をリストに追加する
クリックしたオブジェクトの名前をリストへ追加
リストの中が0になるまで生成する
リストの中をすべて表示・非表示
子オブジェクトをすべて取得
アクティブ状態のオブジェクト数を取得
タグのついたオブジェクトを全て格納
複数のオブジェクトを作成し、PickUpという名前でタグを付けました。
空のオブジェクトを作成。
PickUp.csを作成して、GameObject(空のオブジェクト)に追加します。
PickUp.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PickUp : MonoBehaviour { public List<GameObject> myList; public GameObject[] myArray; void Start() { myArray = GameObject.FindGameObjectsWithTag("PickUp"); foreach(GameObject obj in myArray) { myList.Add(obj); } } } |
ゲームスタートしましょう。
myListを展開してみると、タグ付きのオブジェクトの存在をすべて確認できました。
FindGameObjectsWithTag()を使用して、同一タグをいったんmyArray(配列)に格納。
ここからforeachのループで、オブジェクトを取り出し、myListに追加しています。
関連記事:
ぶつかったオブジェクトの名前をリストに追加する
クリックしたオブジェクトの名前をリストへ追加
リストの中が0になるまで生成する
リストの中をすべて表示・非表示
子オブジェクトをすべて取得
アクティブ状態のオブジェクト数を取得