Unity中的游戏对象[]

Posted

技术标签:

【中文标题】Unity中的游戏对象[]【英文标题】:GameObject [] in Unity 【发布时间】:2016-01-23 22:01:47 【问题描述】:
    for (int x = 0; x < mapLength; x++)
    
        var instantiateMap = new Vector3(x * 2, 0, 1);
        GameObject[] cubeObjectClones = Instantiate(cubeObject, instantiateMap, Quaternion.identity) as GameObject;
        cubeObjectClones[x].transform.parent = transform;
    

无法隐式转换类型UnityEngine.GameObject' toUnityEngine.GameObject[]'

能否解释一下如何解决此错误?

【问题讨论】:

【参考方案1】:

这是因为Instantiate 方法返回单个游戏对象。相反,您需要使用循环来生成更多实例并将它们添加到您的数组中。使用下面的代码。

GameObject[] cubeObjectClones = new GameObject[mapLength];
for (int x = 0; x < mapLength; x++)

    var instantiateMap = new Vector3(x * 2, 0, 1);
    cubeObjectClones[x] = Instantiate(cubeObject, instantiateMap, Quaternion.identity) as GameObject;
    cubeObjectClones[x].transform.parent = transform;

【讨论】:

以上是关于Unity中的游戏对象[]的主要内容,如果未能解决你的问题,请参考以下文章

Unity 中的多人游戏

Unity中的游戏对象(卡在屏幕边缘)

使用Unity中的Json将我的游戏对象保存在地图中[重复]

我需要使用 c# 将一个游戏对象旋转到 Unity 中的另一个游戏对象,但我希望旋转仅在 z 中

我不能在 Unity 中的游戏对象前面有 UI 元素

Unity3D 对象池思想 在游戏开发中的运用