具体而言,指的是在代码中,动态添加或删除预制件。
这种功能,一般用于切换副本,地图等场景。
例如,做两个预制件,一个是主城,一个是副本。那可以通过代码,来动态加载2个预制件,来切换场景。
核心函数,是GameObject.Instantiate
和GameObject.Destroy
。
具体办法:
先把预制件放到Assets/Resouces
目录下,如果文件多的话,可以再叠加个目录,如prefab。例如,绝对路径是Assets/Resouces/prefab/ExitZone.prefab
。
则在你所在的Scene的任何一个挂载脚本下,执行如下代码:
tempObject = Resources.Load("prefab/ExitZone") as GameObject;GameObject.Instantiate(tempObject);
注意,后缀.prefab
不要加。
这样,运行期间,就会添加这个对象。
如果你运行期间,用完prefab还想删除咋办?
也很简单,执行
GameObject.Destroy(this.tempObject);