Unity中的GameObject []

0 c# unity-game-engine

    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;
    }
Run Code Online (Sandbox Code Playgroud)

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

有人可以解释我如何解决这个错误吗?

mpr*_*vat 5

这是因为Instantiate方法返回单个GameObject.相反,您需要使用循环来生成更多实例并将它们添加到数组中.请使用以下代码.

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;
}
Run Code Online (Sandbox Code Playgroud)