2015-05-20 5 views
1

Я разрабатывал карточную игру в Unity3D. Основной сценой является доска и содержит данные о каждом игроке и текущей (произвольно сгенерированной) плате, хранящейся в нем.Одновременно открываются несколько сцен с единством

Я намерен добавить в игру мини-игры, например, при посадке на определенное место на доске. Естественно, я хотел бы закодировать мини-игру в отдельной сцене. Есть ли способ, которым я могу это сделать, не теряя экземпляр текущей сцены, так что состояние текущей сцены поддерживается?

Заранее спасибо :)

ответ

3

Короткий ответ: нет, но может быть и другой способ сделать то, что вы хотите.

Основной вызов вызова Application.LoadLevel приведет к уничтожению текущей сцены перед загрузкой следующего. Это не то, что вы хотите.

Если ваша мини-игра относительно проста, вы можете использовать Instantiate, чтобы ввести сборник и создать его далеко от остальной части вашей сцены. Вы даже можете использовать сценарии для переключения на другую камеру, переключения элементов управления проигрывателя и других взаимодействий в сцене и т. Д. Как только мини-игра будет выполнена, вы можете уничтожить или отключить все, что вы принесли, и снова включить все, что необходимо включить в основной сцене.

Вы можете создать отдельную сцену и позвонить Application.LoadLevelAdditive, чтобы загрузить эту сцену без, уничтожая текущий. Как и выше, вы можете использовать скрипты для управления тем, какие камеры и поведение сцены активны.

Если вы осторожны, вам не нужны две отдельные сцены. Этого может быть достаточно, чтобы «подделать» переключатель сцены.

+0

Благодаря Раттер, я посмотрю на что, когда я вернусь домой, и пусть вы знаете :) – samdy1

+0

Теперь, когда 'Application.LoadLevelAdditive' является устаревшим использование' SceneManager.LoadScene («SceneName», LoadSceneMode.Additive) ; вместо этого. –

1

Трудно дать полный ответ без кода, но вы должны смотреть на следующие вещи, либо с документацией единства или YouTube:

  • PlayerPrefs, это один из способов сохранения данных, хотя я считаю, что это ISN 't полностью безопасный, т.е. возможность редактировать из текстового файла.
  • Serializable, это, по-видимому, лучше, чем playerprefs.
  • DonDestroyOnLoad, может переносить информацию на несколько сцен.
  • Статические переменные, опять же не уверены, что это поможет вашей конкретной проблеме.
Смежные вопросы