Не могу перезапустить сцену в единстве 3D - PullRequest
0 голосов
/ 31 декабря 2018

В моей игре у меня есть несколько уровней, каждый из которых имеет 6 сцен, названия сцен: Сцена 1, Сцена 2, Сцена 3 ... и т.д ...

Когда игрок проигрывает, текущийСцена должна быть перезапущена, поэтому я использовал этот код:

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

Я не использовал "(...) GetActiveScene (). name);"потому что названия сцен повторяются на каждом уровне.

У меня проблема в том, что когда игрок проигрывает на уровне 2 (сцена 6), сцена 6 уровня 1 загружается вместо перезапуска сцены 6 уровня 2.Вы знаете, в чем проблема в моем коде?

1 Ответ

0 голосов
/ 31 декабря 2018

Возможно, это не ответ на вопрос, почему это происходит в вашем конкретном случае, но два предложения, которые я бы предпочел:

Просто обходной путь, но как насчет правильного присвоения имен вашим сценам, например, Level1_Scene1, Level2_Scene3 и т. Д.

, поэтому все они однозначно идентифицируются с помощью GetActiveScene().name


В качестве альтернативы вы также можете попробовать использовать GetActiveScene().path (который всегда уникален), начиная с LoadScene принимает

Имя или путь сцены для загрузки.

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