我有六个面板显示了当前的效果。如果效果的数量为0,我希望它们全部消失。effectOff()将停用所有面板和效果图像。这六个面板分别具有六个子效果图像。(蓝色、绿色、红色等)。代码应该会让它们全部停用。
public GameObject effectbar;
public void effectOff()
{
for (int i = 0; i < 6; i++)
{
for (int a = i; i < 6; i++)
{
effectbar.gameObject.transform.GetChild(i).GetChild(a).gameObject.SetActive(false);
}
effectbar.gameObject.transform.GetChild(i).gameObject.SetActive(false);
}
effectbar.SetActive(false);
}effectbar.gameObject.transform.GetChild(i).gameObject.SetActive(false);行给出一个Transform child out of bounds异常。我该怎么解决这个问题呢?我读到它抛出一个错误,因为系统不知道是否真的存在一个子对象。感谢前进。
https://stackoverflow.com/questions/44593412
复制相似问题