Смена уровня через триггер

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Смена уровня через триггер

Сообщение 83939 25 фев 2017, 20:57

Сам скрипт:
Синтаксис:
Используется csharp
 void OnTriggerEnter(Collider tr)
    { Application.LoadLevel(1);
            }

У меня много уровней и на каждый нужен свой скрипт с измененным числом в строчке Application.LoadLevel
Вопрос:
Как сделать так, чтобы был всего один скрипт и можно было менять это число через инспектор...int'овая переменная делает какую-то дичь, или, возможно, это я не так написал...
83939
UNIт
 
Сообщения: 71
Зарегистрирован: 24 авг 2016, 03:21

Re: Смена уровня через триггер

Сообщение samana 25 фев 2017, 21:16

83939 писал(а):int'овая переменная делает какую-то дичь, или, возможно, это я не так написал...

А вы покажите это, так как проблем быть по идее не должно было.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Смена уровня через триггер

Сообщение 83939 25 фев 2017, 21:19

samana писал(а):
83939 писал(а):int'овая переменная делает какую-то дичь, или, возможно, это я не так написал...

А вы покажите это, так как проблем быть по идее не должно было.

Синтаксис:
Используется csharp
public int yroven;
 void OnTriggerStay(Collider tr)
    {   Application.LoadLevel(yroven);
            }

Я пишу уровень 17 (В окне компиляции игры он есть), а запускается либо какой-то рандомный, либо вообще уровень просто перезагружается...Возможно я что-то не дописал или вообще неправильно написал.
83939
UNIт
 
Сообщения: 71
Зарегистрирован: 24 авг 2016, 03:21

Re: Смена уровня через триггер

Сообщение samana 25 фев 2017, 21:41

Должно было работать нормально, если у вас действительно в BuildSettings есть уровень под индексом (не именем) 17.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: Смена уровня через триггер

Сообщение simmetr 26 фев 2017, 09:55

А где присваевается значение переменке? Во входных метода - нет. В объяве - нет. Где? Что то, мне кажется, что там и нид искать...
simmetr
UNец
 
Сообщения: 17
Зарегистрирован: 24 фев 2017, 13:19

Re: Смена уровня через триггер

Сообщение 83939 26 фев 2017, 20:00

samana писал(а):Должно было работать нормально, если у вас действительно в BuildSettings есть уровень под индексом (не именем) 17.

И все же уровень просто перезагружается
83939
UNIт
 
Сообщения: 71
Зарегистрирован: 24 авг 2016, 03:21

Re: Смена уровня через триггер

Сообщение JTProjects 26 фев 2017, 21:00

У вас какая версия Unity? Application.loadLevel объявлен устаревшим, вместо него теперь используется:
Синтаксис:
Используется csharp
using UnityEngine.SceneManagement;
.......
SceneManager.LoadScene(sceneBuildIndex);


Если вам нужно загрузить следующую сцену (сцену со следующим по порядку индексом), можно использовать:

SceneManager.LoadScene(SceneManager.GetActiveScene ().buildIndex + 1);
Аватара пользователя
JTProjects
UNIт
 
Сообщения: 97
Зарегистрирован: 04 ноя 2016, 14:31

Re: Смена уровня через триггер

Сообщение 83939 27 фев 2017, 07:53

JTProjects писал(а):У вас какая версия Unity? Application.loadLevel объявлен устаревшим, вместо него теперь используется:
Синтаксис:
Используется csharp
using UnityEngine.SceneManagement;
.......
SceneManager.LoadScene(sceneBuildIndex);


Если вам нужно загрузить следующую сцену (сцену со следующим по порядку индексом), можно использовать:

SceneManager.LoadScene(SceneManager.GetActiveScene ().buildIndex + 1);

Пользуюсь Unity 4.3
83939
UNIт
 
Сообщения: 71
Зарегистрирован: 24 авг 2016, 03:21

Re: Смена уровня через триггер

Сообщение 83939 27 фев 2017, 18:15

Что-то намудрил , после вернул все назад и теперь при цифре 0 перезагружает уровень , при цифре 2 запускает 1ый лвл, после вообще рандомный уровень при другом числе, а ведь раньше такого не было...
83939
UNIт
 
Сообщения: 71
Зарегистрирован: 24 авг 2016, 03:21

Re: Смена уровня через триггер

Сообщение JTProjects 27 фев 2017, 20:00

Попробуйте так:

Синтаксис:
Используется csharp
 void OnTriggerStay(Collider tr)
    {   Application.LoadLevel(Application.loadedLevel+1);
            }
Аватара пользователя
JTProjects
UNIт
 
Сообщения: 97
Зарегистрирован: 04 ноя 2016, 14:31


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot] и гости: 17