Массив игрового объекта другой последовательности встроен из игрового режима? - PullRequest
0 голосов
/ 23 февраля 2019

Моя проблема в режиме воспроизведения. Я получаю ожидаемую последовательность массивов: showing all gameobjects, RedCube, Interior, BlueCube, and then GreenCube.Но после того, как я его построил и протестировал на своем андроиде.Я получаю другую последовательность массива: showing all gameobjects, GreenCube, BlueCube, RedCube and then Interior.На этом снимке экрана показана последовательность моего массива. image0 .
Под gameobject есть 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 .... Но последовательность массивов отличается от режима воспроизведения и встроена.Я не мог понять, почему?

1 Ответ

0 голосов
/ 23 февраля 2019

Если вы присваиваете игровым объектам levels в инспекторе единства, например, image0, эта строка вам не нужна.

levels = GameObject.FindGameObjectsWithTag("levels");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...