Unity3d在脚本中销毁预设体时遇到的问题

1.Destroy时报错:Destroying assets is not permitted to avoid data loss.

原因:

GameObject a = Instantiate(gameObject) as GameObject;
Destroy(a);


创建一个gameObject的克隆,然后再删掉,这肯定是没问题的。
根据你提的问题,我感觉你是这么干的
GameObject a = Instantiate(gameObject) as GameObject;
Destroy(gameObject); <- 你删除本体去了。
(转自贴吧:http://tieba.baidu.com/p/3144054224)


错误代码:

GameObject lightInstance = (GameObject)Resources.Load("Prefabs/LightningWave3");
Instantiate(lightInstance);
Destroy(lightInstance);

正确代码:

tempInstance = Instantiate((GameObject)Resources.Load("Prefabs/LightningWave3"), np,mpos);
tempInstance.transform.parent = transform;


2.销毁预设体时发现不能完全销毁掉

错误原因:

点击鼠标左键时可能会产生多个预设体,此时需要建立一个List用来存放所有预设体,并在销毁时全部销毁。


你可能感兴趣的:(Unity3d)