配列の中にある全ての要素を、新しいリストに追加できる仕組みを作りましょう。
今回は、同じタグのついたオブジェクトをいったん配列に格納。
配列の中身を、そのまま新規リストに移します。
関連記事:
ぶつかったオブジェクトを順に配列に入れる
リストの中のオブジェクトを表示する
クリックしたオブジェクト名をリストへ追加
リストの中で最後に追加された要素から削除
リストを古い要素(先頭)から削除
リストの中で指定した要素を削除
ぶつかったオブジェクトの名前をリストに追加する
FindObjectsOfTypeで指定したクラスを全て取得
foreach文を使ったくり返し処理
他のオブジェクトの配列を取得する
スクリプトから配列に格納する
配列にある複数オブジェクトを一気に出す
リストの中が0になるまで生成する
リストの中をすべて表示・非表示
配列の全要素をリストへ移す
Cubeを5つ複製し、すべてにCubeの名前でタグを付けます。
空のオブジェクトを作成します。
ArrayList.csを作成し、GameObjectに追加します。
ArrayList.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ArrayList : MonoBehaviour { public GameObject[] cubeArray; public List<GameObject> myList = new List<GameObject>(); void Start() { cubeArray = GameObject.FindGameObjectsWithTag("Cube"); foreach(GameObject cubes in cubeArray) { myList.Add(cubes); } } } |
ゲームプレイして、表示を確認しましょう。
配列(CubeArray)の中身が、そのままリスト(MyList)に入っています。
foreachでは、Arrayの要素を一つずつ取り出し、cubesに格納。
取り出した分だけループさせて、一つ一つリストに追加しています。
関連記事:
ぶつかったオブジェクトを順に配列に入れる
リストの中のオブジェクトを表示する
クリックしたオブジェクト名をリストへ追加
リストの中で最後に追加された要素から削除
リストを古い要素(先頭)から削除
リストの中で指定した要素を削除
ぶつかったオブジェクトの名前をリストに追加する
FindObjectsOfTypeで指定したクラスを全て取得
foreach文を使ったくり返し処理
他のオブジェクトの配列を取得する
スクリプトから配列に格納する
配列にある複数オブジェクトを一気に出す
リストの中が0になるまで生成する
リストの中をすべて表示・非表示