目次
スクリプトを貼り付けるための空オブジェクトの作成
Create → CreateEmptyをおします
Listに入れたオブジェクトを操作する流れ
リストに格納したオブジェクトを消します
①リストの作成
②リストにオブジェクトを追加
③リストに追加されたオブジェクトを指定して消す
という流れになります
①リストの作成
②リストにオブジェクトを追加
③リストに追加されたオブジェクトを指定して消す
という流れになります
入力するスクリプト
using System.Collections; using System.Collections.Generic;// Listを扱うのに必要 using UnityEngine; public class ListScript : MonoBehaviour { public GameObject ListObject;// リストに入れるために生成するプレファブ public List<GameObject> ObjectList = new List<GameObject>();// プレイファブを入れるリスト private int ObjectCount;// 生成したプレファブの数 // Update is called once per frame void Update() { if (Input.GetMouseButtonDown(0))// もし、右クリックしたら、 { GameObject ListObjects = GameObject.Instantiate(ListObject) as GameObject;// ListObjectsとしてプレファブを生成する ListObjects.transform.position = transform.position;// このオブジェクトの位置にプレファブの座標を移動させる ListObjects.transform.rotation = Quaternion.identity;// プレファブの向きを元のままにする ObjectList.Add(ListObjects);// リストにプレファブを加える ObjectCount += 1;// プレファブの数を1増やす } if (ObjectCount < 1)// もしプレファブの数が1以下なら、 { ObjectCount = 0;// プレファブの数を0にする } if (Input.GetMouseButtonDown(1))// もし、右クリックしたら、 { Destroy(ObjectList[ObjectCount - 1]);// リストの(プレファブの数-1)番目のオブジェクトを消す ObjectList.RemoveAt(ObjectCount - 1);// リストの(プレファブの数-1)番目を削除する ObjectCount -= 1;// プレファブの数を1減らす } } }
入力したら、スクリプトを空オブジェクトにドラッグ&ドロップし、ListObjectにはプレファブ化したオブジェクトをドラッグ&ドロップします
テストプレイをしてみると
左クリックしたら、プレファブが生成され、
右クリックしたら、プレファブが削除されます
リストを見てみると、リストにも追加されたり、
削除されたりします
これによって敵が大量に出る時の管理がやりやすくなりますね♪
コメント