Перейти к содержанию

NWjs - открыть файл через игру.


Рекомендуемые сообщения

в сети

Внимание! Данный способ подойдет только для NW.js экспорта!

Вам же знакомы файлы .ai или .psd? И знаете, что если дважды щелкнуть файл, откроется программа и загрузит из него
сохранение.

А если ваша игра/программа может сохранять данные в файл, но открыть их можно только если зайти в саму игру и нажать
"Загрузить"? Получается что ваша игра несколько неудобная, и придется её запускать откуда-то, чтобы открыть файл вообще в
другом месте. Сколько же потерянного времени!

Для этого в плагине NW.js есть выражения "NWjs.ArgumentCount" и "NWjs.ArgumentAt(Number)"

Давайте же сделаем это!

Для начала мы должны добавить плагины AJAX и NWjs у кого их нет.

1.png

Потом идем в ивентшит и ставим самый важный ивент - "On start of layout". Он точно должен почти быть у всех.

2.png

Далее создаем у него саб-ивент "Compare two values". Заполняем так: NWjs.ArgumentCount > 0

3.png

После добавляем действия: 
1) AJAX -> Request to URL -> Tag=(любой, хоть оставить пустым, неважно), URL=NWjs.ArgumentAt(0)
2)System -> Wait for previous action to complate
3)System -> Load from JSON -> AJAX.LastData

4.png

Это самая главная часть - она-то и отвечает за загрузку файла, когда открываешь его.

Загрузку можно сделать любой, хоть кастомною - весь сохраненный код хранится в AJAX.LastData. И если вы сделали своё
сохранение, то можно написать свой простой парсер, но это уже не относится к этому уроку. И ещё можно добавить побольше
своих аргументов командной строки к вашей игре, чтобы к примеру с cmd можно было запускать, к примеру, с дэбаг режимом.

Дальше находим ваш сохраненный файл. Он может быть с любым форматом - хоть .json, хоть вообще .mycustomsavefilelol.
Лучше всё-таки сделать свой уникальный формат файла, с ним работать будет легче.

Нажимаем ПКМ по файлу -> открыть с помощью... -> обзор -> ищите вашу экспортированную игру.

5.png   6.png

После этого вы просто сможете дважды щелкать по файлу, и ваша игра сама откроется и загрузит от-туда сохранение!

7.png   8.png

P.S. На счет "открыть с помощью..." костыля...чтобы сразу после скачивания игры у файлов сохранения менялась картинка и
переназначилась ассоциативное приложение - нужно чтобы программа залезла в реестр и нашаманила там. Я могу написать
батник, делающий это, но для этого понадобятся права администратора. Других способов не знаю, хоть они и есть. Может быть
покопаюсь в интернете, как сделать подобное, но не сейчас. Кто умеет делать это в обход админ.прав - попрошу поделится
способом, а то этот урок какой-то неполноценный получается. Но цель урока была научить пользоваться NWjs.ArgumentAt(), а не
работе с файлами, поэтому ко мне никаких претензий)

Вот пример программы

 

Изменено пользователем HAPETU

Когда я делаю игру, то наибольшую часть времени в неё играю/(де)багаю. Считаюсь ли я задротом?

Уж извините, что я такой болтун.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...