GameObjectは配列を new とかしても残ったままだから破壊とか SetActive(false) する必要がある。SetActive(false)のほうが軽いけどとりあえず全削除についてメモしておく。
関数の形
private void DestroyObjects(GameObject[] objects)
{
foreach(GameObject obj in objects)
{
Destroy(obj);
}
}
//GameObject[,]でもいけるFindGameObjectsWithTagを使うとたぶんこんな感じ。
private void DestroyObjects(string tag_name)
{
GameObject[] objects = GameObject.FindGameObjectsWithTag(tag_name);
foreach(GameObject obj in objects)
{
Destroy(obj);
}
}配列だからFindGameObjectsWithTag
にsがついてるのを忘れないようにする。
子オブジェクトを全て Destroy したい場合は
private void DestroyObjects(Transform t)
{
foreach(t in Player.Instance.DamageTextField)
{
Destroy(obj.gameObject);
}
}.gameObject をちゃんとつけないとエラーしたりクラッシュしたり。