Есть проект. В нём есть сцена. Улица, дома и т.д. Бегу я значит бегу и хочу зайти в дом. Как сделать так, чтоб при нажатии на двери она открывалась и я мог туда войти я знаю, но проблема в том, что моделер поставляет мне внутренности зданий как отдельные проекты и я решил делать по принципу обливиона, при входе в дом, перенос на новую локацию. Если я правильно понимаю механизм, я должен создать новую сцену в том же проекте, а дальше как-то прописать скрипт перехода на эту сцену, по нажатию, скажем, Е или энтер на этой двери. Вот интересует данный момент.
Application.LoadLevel static function LoadLevel(index: int): void; static function LoadLevel(name: string): void;
Parameters: index The level to load. name The name of the level to load.
Loads the level by its name or index. Before you can load a level you have to add it to the list of levels used in the game. Use File->Build Settings... in Unity and add the levels you need to the level list there. MonoBehaviour.OnLevelWasLoaded is called on all active game objects after the level has been loaded.
Код
// Load the level named "HighScore".
Application.LoadLevel ("HighScore");
When loading a new level all game objects that have been loaded before are destroyed. If you want to let an object survive when loading a new level, use Object.DontDestroyOnLoad. Calling LoadLevel will update Application.loadedLevel and Application.loadedLevelName. See Also: Application.LoadLevelAsync, Application.LoadLevelAdditive, Application.LoadLevelAdditiveAsync.
Вот честно, просто из головы вылетело В любом случае, большое спасибо, всё получилось)
Добавлено (31 Июл 2013, 10:17) --------------------------------------------- Возник вопрос номер два. Мануал - это хорошо, когда знаешь, что искать. А вот тут как-то даже не могу придумать, как мысль сформулировать.
В общем, реально ли как-то сделать прелоадер загрузки сцены? Что бы пока она грузится показывалась картинка какая-то, например, полоса загрузки показывала процесс, пока всё подгружалось, уже отображалась сцена уже потом.
За оба скрипта спасибо! Так же для себя понял, что при загрузке больших сцен лучше использовать асинхронную загрузку. Но вот интересует именно вариант прелоадера. То есть какой-то полосочки, которая будет отображать процесс загрузки, что-нибудь из цикла
Код
var per = (getByteLoaded/getByteTotal)*100;
Добавлено (05 Авг 2013, 19:40) --------------------------------------------- Я так понимаю, никто с этим не сталкивался или просто в юнити нет подобных конструкция? Приведённый выше код я вырвал из actionscript'а там такой конструкцией получаю процент загрузки. Если бы здесь можно было реализовать что-то подобное, можно было бы и красочный прелоадер нарисовать, уже дело фантазии.
Сообщение отредактировал NapalmRain - Ср, 31 Июл 2013, 18:37
Ну это ж зависит оттого что и как вы собираетесь загружать. Например AssetBundle.LoadAsync возвращает AssetBundleRequest в котором есть progress. Откройте Help и поищите для своего случая.