如何避免在屏幕上创建游戏对象?
How to avoid creating the GameObject on screen?
我正在使用 C# 在 Unity 中从敌人游戏对象实例化敌人(克隆)。我写了一个 destroy 函数,当子弹击中他们时只删除敌人(克隆人)。 Unity 在屏幕上渲染敌方游戏对象。
我不能在运行时销毁这个游戏对象,因为 unity 不会再实例化任何敌人(克隆人)。请帮助我不要渲染基础敌人游戏对象,因为它在屏幕上没有任何用处。
注意:敌人被脚本化为走向玩家位置,因此将物体保持在屏幕外是没有意义的。
请帮忙
这是我的代码片段。我将敌人的游戏对象拖到项目部分。现在它在屏幕上创建了 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;
}
让你的敌人进入 prefab 这可以通过将游戏对象拖到项目视图中来完成。
您可以使用任何游戏对象从预制件中实例化新敌人。例如没有任何渲染组件的空的。
实例化可以用这种脚本来完成:
public GameObject enemy;
void InstantiateEnemy () {
GameObject enemyClone= (GameObject) Instantiate(enemy, transform.position, transform.rotation);
}
只需在编辑器中设置 public GameObject
并从某处调用 InstantiateEnemy
函数。
我正在使用 C# 在 Unity 中从敌人游戏对象实例化敌人(克隆)。我写了一个 destroy 函数,当子弹击中他们时只删除敌人(克隆人)。 Unity 在屏幕上渲染敌方游戏对象。
我不能在运行时销毁这个游戏对象,因为 unity 不会再实例化任何敌人(克隆人)。请帮助我不要渲染基础敌人游戏对象,因为它在屏幕上没有任何用处。
注意:敌人被脚本化为走向玩家位置,因此将物体保持在屏幕外是没有意义的。 请帮忙
这是我的代码片段。我将敌人的游戏对象拖到项目部分。现在它在屏幕上创建了 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;
}
让你的敌人进入 prefab 这可以通过将游戏对象拖到项目视图中来完成。
您可以使用任何游戏对象从预制件中实例化新敌人。例如没有任何渲染组件的空的。
实例化可以用这种脚本来完成:
public GameObject enemy;
void InstantiateEnemy () {
GameObject enemyClone= (GameObject) Instantiate(enemy, transform.position, transform.rotation);
}
只需在编辑器中设置 public GameObject
并从某处调用 InstantiateEnemy
函数。