我使用c#从Unity中的敌人GameObject实例化敌人(Clones)。我已经编写了一个destroy函数来在子弹击中时仅删除敌人(Clones)。 Unity在屏幕上呈现敌人GameObject。
我无法在运行时销毁这个GameObject,因为unity不会再实例化任何敌人(Clones)。请帮助我不要渲染基础敌人GameObject,因为它在屏幕上没有用处。
注意:敌人的脚本是走向玩家位置,因此将对象保持在屏幕外是没有意义的。 请帮忙
这是我的代码片段。我将敌人GameObject拖入项目部分。现在它已经在屏幕上创建了2个Enemy对象
public Rigidbody2D enemy;
void enemySpawn()
{
Rigidbody2D enemyInstance;
enemyInstance = Instantiate(enemy, new Vector3(Random.Range (2,8), Random.Range (-4,4), 0), Quaternion.Euler(new Vector3(0,0,0))) as Rigidbody2D;
}
答案 0 :(得分:2)
让你的敌人进入prefab这可以通过将gameObject拖入项目视图来完成。
您可以使用任何gameObject从预制件中实例化新敌人。例如,没有任何渲染组件的空的。
实例化可以使用这种脚本完成:
public GameObject enemy;
void InstantiateEnemy () {
GameObject enemyClone= (GameObject) Instantiate(enemy, transform.position, transform.rotation);
}
只需在编辑器中设置public GameObject
,然后从某处调用InstantiateEnemy
函数。