たくさんのオブジェクトの中で、同じタグのついたものを、同時に削除できるようにしてみましょう。
オブジェクトの種類の中でも、クリックすれば、ボールだけが消えます。
Sphereにタグをつける
Cube、Sphere、Cylinderをそれぞれ3つずつ用意して、適当に配置しました。
3つのSphereオブジェクトにタグを付けていきましょう。
タグを追加。
タグ名をDestroyとして作成しました。
3つのSphereに、Destroyのタグを付けていきます。
同一タグのオブジェクト消去
次に、空のオブジェクトを作成します。
BallDestroy.csを作成し、GameObjectに追加します。
BallDestroy.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 BallDestroy : MonoBehaviour { void Update() { if(Input.GetMouseButtonDown(0)) { GameObject[] objects = GameObject.FindGameObjectsWithTag("Destroy"); foreach (GameObject ball in objects) { Destroy(ball); } } } } |
プレイしてみましょう。
DestroyタグがついたSphereのリストを、objectsに格納。
objectsの中から、Sphereを順番に取り出し、変数ballに入れています。
foreachを使えば、取り出した数だけ、ループさせることができます。