我的代码看起来像这样:
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,一切正常。
答案 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;
}