游戏对象[]在Unity

问题描述:

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' to UnityEngine.GameObject []”游戏对象[]在Unity

一些能解释一下我可以修复这个错误?

这是因为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; 
}