ちょこ

学生です。メモっぽく。

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]);

みたいになった。