在执行时创建和销毁对象是常有的事。在unity中,能够使用Instantiate函数对现有的一个对象做一个拷贝来创建一个新的游戏对象。
public GameObject enemy; void Start() { for (int i = 0; i < 5; i++) { Instantiate(enemy); } }
值得注意的是用于进行拷贝的对象并不一定须要放置在场景中。更普遍的做法是将一个预设(Prefab)拖到脚本的相应公有成员变量上,实例化的时候直接对这个成员变量进行实例化就可以。
同一时候也有一个Destroy函数在帧更新函数完毕后或设定的一个延时时间后销毁一个对象。
void OnCollisionEnter(otherObj: Collision) { if (otherObj == "Missile") { Destroy(gameObject,.5f); } }
注意到Destroy函数能够销毁单独的组件而不正确游戏对象本身产生影响,一个通常范的错误是
Destroy(this);
这句代码只效果脚本组件,而不会销毁该脚本所附加在的对象。
未经允许不得转载:Unity3D » unity3d 创建和销毁对象脚本