我的问题是在播放模式内,我得到了预期的数组序列:showing all gameobjects, RedCube, Interior, BlueCube, and then GreenCube
。但是,在我构建它并在Android中进行测试之后。我得到了另一个数组序列:showing all gameobjects, GreenCube, BlueCube, RedCube and then Interior
。此屏幕快照显示了我的数组的顺序。image0。
游戏对象下有4个游戏对象-Levels
Image1。为Levels
....... Image2完整的场景截图添加了脚本。
public GameObject[] levels;
public Button levelBtn;
int i = 0;
private void Awake()
{
levels = GameObject.FindGameObjectsWithTag("levels");
Button btn = levelBtn.GetComponent<Button>();
}
// Start is called before the first frame update
void Start()
{
levelBtn.onClick.AddListener(onLevelclick);
}
public void onLevelclick()
{
if (i < levels.Length - 1)
{
i++;
}
else if (i >= levels.Length - 1)
{
i = 0;
}
Debug.Log(i);
if (i == 0)
{
levels[0].SetActive(true);
levels[1].SetActive(true);
levels[2].SetActive(true);
levels[3].SetActive(true);
}
else if (i == 1)
{
levels[0].SetActive(true);
levels[1].SetActive(false);
levels[2].SetActive(false);
levels[3].SetActive(false);
}
else if (i == 2)
{
levels[0].SetActive(true);
levels[1].SetActive(true);
levels[2].SetActive(false);
levels[3].SetActive(false);
}
else if (i == 3)
{
levels[0].SetActive(true);
levels[1].SetActive(true);
levels[2].SetActive(true);
levels[3].SetActive(false);
}
}
在此脚本中,我有一个gameobject array
。当我单击UIbutton时,它将在array.length ....中循环。...但是数组顺序不同于playmode并已构建。我不知道为什么?
答案 0 :(得分:1)
如果您在统一检查器中将游戏对象分配给levels
(例如image0),则不需要此行。
levels = GameObject.FindGameObjectsWithTag("levels");