2017-01-21 3 views
1

Что я пытаюсь сделать:Как создать новый сохранить и загрузить его?

Main menu

При нажатии на кнопку воспроизведения появляется панель с +. Я сделал простой скрипт для кнопки +

public void addSave() 
{ 
    if (i != 0) 
    { 
     File.Delete("Assets/Game1.unity");//If there is already a save then delete it 
     i = 0; 
    } 
    if (i == 0) 
    { 
     File.Copy("Assets/Game.unity", "Assets/Game1.unity");//And copy the scene to make the new one. 
     OpenSave.SetActive(true); 
     i++; 
    } 
} 

Когда я нажимаю на Save image он должен загрузить Game1.unity, но он говорит: «Сюжет„Game1“не может быть загружен, потому что он не был добавлен настройки сборки или AssetBundle не были загружены ». Итак, как мне добавить его в настройки сборки в скрипте?

Я нашел this, но как мне создать новую сцену перед игровым процессом?

Редактировать: Я добавил Game1.unity для создания настроек вручную, чтобы кнопка + просто сбросила игру. Но, может быть, есть лучший способ сделать это?

Или, может быть, есть лучший способ сделать это?

ответ

1

Вы не должны использовать сцены, чтобы сохранять и загружать игру. На самом деле лучше всего использовать только мастер-сцену для всего (система сцены Unity является уродливой и медленной).

Вы можете использовать любой метод сериализации в зависимости от ваших потребностей, таких как xml, json, буферы протокола или те, которые хранятся в хранилище активов. Сериализация гораздо более гибкая и управляемая для такого рода вещей.

+0

Так что я должен хранить статистику в файле, а затем загружать их? – Sharpy

+0

Да, прочитайте данные из сериализованного файла и постройте свою карту или загрузите свою статистику в соответствии с этим. Вы можете создать родительский объект главного меню и отключить его после загрузки карты таким образом, что вам не нужно загружать новую сцену. Практически все может быть сохранено таким образом. – Berkays

+0

Хорошо. Благодарю. Я сделаю это – Sharpy

Смежные вопросы