Привет всем! В данном уроке я расскажу как сделать рабочую систему сохранений.
Для начала рассмотрим принцип работы данной системы. При нажатии на кнопку или клавишу, открывается окно проводника где можно выбрать название и путь сохранения. После чего создается файл сохранения, который после можно открыть в игре нажатием клавиши или кнопки.
Система сохранений.
Для начала рассмотрим какие плагины нам необходимы:
Browser, AJAX, Keyboard( если сохранение и загрузка будем делаться на клавишу), NWjs.
Сохранение.
После того как мы добавили все нужные плагины, заходим в Event sheet 1.
Добавляем событие.
Add event-> keyboard-> on key released-> выбираем клавишу которая будет отвечать за сохранение. В моем случае это S.
Теперь добавим действие:
add action-> system-> save-> даем название сохранению( пишите его в ковычках "")
Создадим второе событие:
add event-> system-> on save complete.
Добавляем действие:
add action-> browser-> invoke download of string->в первой строке пишем SaveStateJSON, вторую можно не трогать, в третьей пишем название файла и его формат например: "save.txt", название всегда пишите в ковычках.
Теперь когда мы нажимаем на клавишу S, происходит сохранение. Если оно произошло успешно, тогда открывается окно проводника где можно сохранить файл.
Загрузка
Добавляем событие:
Add event-> keyboard-> on key released-> выбираем клавишу которая будет отвечать за загрузку сохранения . В моем случае это L.
add action-> NWjs-> show open dialog-> в строке пишем формат который мы выбрали для сохранения. У меня это txt, значит я пишу ".txt". Пишем в ковычках перед форматах ставим точку.
Создаем новое событие:
add event-> NWjs-> on save dialog ok.
Добавим этому событию действие:
add action-> AJAX-> request URL-> в первой стоке пишем название сохранения, которое мы писали в о втором шаге сохранения. Пишем в ковычках. У меня это "mysave". Во втором пишем NWjs.ChosenPath.
Добавляем последнее событие:
add event-> AJAX-> on completed-> пишем название сохранения, которое мы писали в о втором шаге сохранения. Пишем в ковычках. У меня это "mysave".
Добавляем действие:
add action-> system-> Load from JSON-> в строке пишем AJAX.LastData.
Теперь когда мы нажимаем на клавишу L, открывается окно проводника, где мы выбираем файл для загрузки.
Плюсы:
- Корректная работа
Минусы:
- Пока что не нашел
Если ли же вы столкнулись с проблемами или будут вопросы , то пишите в комментарии и я постараюсь отвечу вам и мы решим вашу проблему .
Всем пока !
Исходник проекта:
https://yadi.sk/d/avGK2GSAcKYgwA
#construct 2 #game #2d #platformer #разработка игр