リストに追加したオブジェクトを、先頭から削除できる仕組みをつくりましょう。
リストの中にいくつかのオブジェクトが入れ、スペースキーを押せば、要素0から消えていきます。
関連記事:
リストの中で最後に追加された要素から削除
クリックしたオブジェクト名をリストへ追加
リストの中で指定した要素を削除
ぶつかったオブジェクトをリストに追加する
配列をすべてリストに移す
触れたオブジェクト(複数)をn秒後に全削除
リストの中が0になるまで生成する
リストのサイズ(長さ)を取得
リスト内のPrefabを表示
リストに追加したオブジェクトを先頭から消す
オブジェクトをいくつか作成します。
間隔をあけてオブジェクトを配置します。
空のオブジェクトを作成します。
ListControl.csを作成し、GameObjectに追加します。
ListControl.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ListControl : MonoBehaviour { public List<GameObject> myList = new List<GameObject>(); void Update() { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if (Input.GetMouseButtonDown(0)) { if (Physics.Raycast(ray, out hit)) { myList.Add(hit.collider.gameObject); } } if (Input.GetKeyDown (KeyCode.Space)) { myList.RemoveAt(0); } } } |
ゲームプレイして、オブジェクトをクリックすると、順番にリストの中に追加されます。
スペースキーを押せば、リスト先頭(古いほう)の要素0から順番に削除されます。
関連記事:
リストの中で最後に追加された要素から削除
クリックしたオブジェクト名をリストへ追加
リストの中で指定した要素を削除
ぶつかったオブジェクトをリストに追加する
配列をすべてリストに移す
触れたオブジェクト(複数)をn秒後に全削除
リストの中が0になるまで生成する
リストのサイズ(長さ)を取得
リスト内のPrefabを表示