【发布时间】:2017-06-17 00:02:30
【问题描述】:
我有六个面板显示当前效果。如果效果数量为 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 异常。我该如何解决?我读到它会引发错误,因为系统不知道子对象是否真的存在。谢谢转发。
【问题讨论】: