Unity 动态添加或移除预制件

具体而言,指的是在代码中,动态添加或删除预制件。

这种功能,一般用于切换副本,地图等场景。

例如,做两个预制件,一个是主城,一个是副本。那可以通过代码,来动态加载2个预制件,来切换场景。

核心函数,是GameObject.InstantiateGameObject.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);

猜你喜欢

转载自blog.csdn.net/newchenxf/article/details/122478674