unity3d 创建和销毁对象脚本

在执行时创建和销毁对象是常有的事。在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 创建和销毁对象脚本

赞 (2)