游戏对象[]在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;
}