Unity 3Dゲーム開発 17日目 ~Prefab~
ちょっとつまづいたことを書く。
public GameObject prefab1, prefab2; private GameObject prefabs = new GameObject[2]; prefabs[0] = prefab1; prefabs[1] = prefab2; Instantiate(prefabs[0]); Destroy(prefabs[0]);
みたいに、「prefabを生成して削除する。」的なことをしようとしたら、
Destroying assets is not permitted to avoid data loss.
とエラーが出て、削除してくれなかった。
あれれ〜と思って調べてみて気づいた。
自分の書いたコードだとInstantiateしたオブジェクトじゃなくて、元のオブジェクトを消そうとしているからだめ。
InstantiateしたオブジェクトをDestroyしないといけない。
書き直した。
prefabs[0] = Instantiate(prefab1) as GameObject; Destroy(prefabs[0]);
みたいになった。