Unity3D实例化为GameObject

时间:2015-11-14 16:49:30

标签: object unity3d instantiation gameobject

  

我的代码看起来像这样:

if (Input.GetButtonDown ("Fire2")) {
        GameObject transparent = Instantiate (building, new Vector3 (0, -10,0), Quaternion.identity) as GameObject;
}
     

建筑物是公共GameObject,我通过统一添加   Inpsector。使用右键后,GameObject被实例化,但是   透明变量具有null而不是实例化的GameObject。   如果我将透明类型更改为Object,我将其删除为GameObject'   演员,一切都很好。

好的,我发现了什么问题。我的建筑不是游戏对象,它是建筑(继承MonoBehaviour的类,所以它本身就有游戏对象)。现在我实例化building.gameobject,一切正常。

1 个答案:

答案 0 :(得分:1)

原来,我发起了“建设”。作为一个Building类(构建是我自己的类并继承MonoBehaviour),而不是GameObject,所以Unity将问题放入GameObject。它现在看起来像这样:

if (Input.GetButtonDown ("Fire2")) {
    GameObject transparent = Instantiate (building.gameobject, new Vector3 (0, -10,0), Quaternion.identity) as GameObject;

}