尝试自动生成地形时使孩子超出范围

时间:2019-10-21 21:20:55

标签: c# unity3d

我正在尝试制作“无尽的跑步者”游戏,当我尝试生成地形时,会出现此错误

UnityException:超出范围转换子级 GenreateTerrain.spawnTile()(在Assets / GenreateTerrain.cs:30) GenreateTerrain.Start()(位于Assets / GenreateTerrain.cs:17)

我找不到我的问题,这是我的代码。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GenreateTerrain : MonoBehaviour
{

    public GameObject TerrainPrefab;
    public GameObject CurrentTerrain;

    // Start is called before the first frame update
    void Start()
    {

        for (int i = 0; i < 10; i++)
        {
            spawnTile();
        }

    }

    public void  spawnTile()
    {
      CurrentTerrain = (GameObject)  Instantiate(TerrainPrefab, CurrentTerrain.transform.GetChild(0).position,Quaternion.identity);
    }
}

1 个答案:

答案 0 :(得分:1)

您的CurrentTerrain GameObject在层次结构中没有子代。

.GetChild返回对象层次结构中的索引子级。