Unity3d 数组索引超出范围

本文关键字:范围 索引 数组 Unity3d | 更新日期: 2023-09-27 18:20:50

void FillGrid()
{ 
    for(int x = 0; x < xSize; x++)
    {
        for(int y = 0; y < ySize; y++)
        {
            InstantiateCandy(x, y);
        }
    }
}
void InstantiateCandy(int x,int y)
{
    GameObject randomCandy = _candies[Random.Range(0, _candies.Length)];
    GameObject newCandy =(GameObject)Instantiate(randomCandy, new Vector3(x, y), Quaternion.identity);
    newCandy.GetComponent<GridItem>().OnItemPositionChanged(x, y);

}
void GetCandies()
{
    _candies = Resources.LoadAll<GameObject>("Prefabs");
    for(int i=0; i< _candies.Length-1;i++)
    {
        _candies[i].GetComponent<GridItem>().id = i;
    }
}

}

我在这一行的问题:

GameObject randomCandy = _candies[Random.Range(0, _candies.Length)];

我无法修复它。谁能帮我修复它?

Unity3d 数组索引超出范围

_candies

GetCandies() 中初始化,但不在代码中调用此函数。我怀疑,当有罪的行被执行时,_candies仍然是空的。