如何动态创建一个新的游戏对象并在场景Unity3d中添加游戏对象

时间:2014-11-05 03:21:37

标签: c# unity3d

你好吗? 我想创建一个新的游戏对象,然后在场景中添加游戏对象。

我该怎么做?

我的代码是:

GameObject a = new GameObject();
GameObject aClone = Instantiate(a) as GameObject;

但无法正常工作。

2 个答案:

答案 0 :(得分:7)

正确的方法:

GameObject obj = Instantiate(prefab) as GameObject;

您也可以指定positionrotation

Vector3 position    = new Vector3(1, 1, 1);
Quaternion rotation = new Quaternion(1, 1, 1, 1);
GameObject obj      = Instantiate(prefab, position, rotation) as GameObject;

通过更改参数,显然可以使用您喜欢的positionrotation

prefab只是:

public GameObject prefab;

通过编辑器将GameObject拖到脚本中。

答案 1 :(得分:0)

实例化需要3个参数,gameObject,位置和旋转。这将根据您作为值解析的内容将其放入场景中。

Instantiate(a, Vector3 (x, y, z), Quaternion.identity);