Как загрузить случайные уровни? - PullRequest
2 голосов
/ 09 февраля 2011

Я использую Unity 3 для сборки своей игры.У меня есть базовая кнопка графического интерфейса, при нажатии которой я бы хотел, чтобы пользователь перешел на произвольный уровень.В моей игре 10 уровней.Ниже приведена копия кода, который я пытаюсь реализовать.

function OnGUI()
{
    // Make a background box
    GUI.Box(Rect(10, 10, 100, 90), "Oracle");

    if (GUI.Button(Rect(20, 40, 80, 20), 9)) ;
    {
        Application.LoadLevel(Random.Range(0, 9));
    }
}

Этого не происходит.Я также попробовал:

function OnGUI()
{
    // Make a background box
    GUI.Box(Rect(10, 10, 100, 90), "Oracle");


    if (GUI.Button(Rect(20, 40, 80, 20))) ;
    {
        Application.LoadLevel(Random.Range(0, Application.levelCount 9));
    }
}

Я никогда раньше не использовал функцию Random.Range и несколько запутался в правильном формате.

Также у меня есть доступный EZ GUI и мне было интересноЯ мог бы ввести правильный сценарий произвольного диапазона в раскрывающемся списке «сценарий» или «сценарий с методом», так как я бы предпочел использовать пользовательскую кнопку.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

Вот код, который работал. Я буду перестраивать и добавлять еще несколько уровней. Я попробую прямо из документов Unity и посмотрю, загружается ли случайная сцена только из числа сцен в сборке. Спасибо DigitalD

static var levelCount : int;

function OnGUI () {
   // Make a background box
    GUI.Box (Rect (10,10,100,90), "ORACLE");

    if (GUI.Button (Rect (20,40,80,20), "Genie")) {
        Application.LoadLevel (Random.Range(0, Application.levelCount-5));
    }
}
0 голосов
/ 10 февраля 2011

Пример кода из документов Unity должен работать нормально.Application.LoadLevel (Random.Range (0, Application.levelCount)) загрузит случайную сцену.Номера уровней основаны на порядке в ваших настройках сборки.Возможно ли, что вы забыли включить их в сборку?Недостаточно иметь лишь 10 сцен, они будут удалены, если они не включены в сборку.

...