Да, я опубликовал игры для AS2 и AS3 Fla sh в Steam. Вот что я могу вспомнить прямо сейчас:
Самый простой способ - создать оболочку Adobe AIR для AS3, которая загружает файл игры swf с помощью SWFLoader (если вы хотите использовать FlashPlayer в AIR, EBF3 использует это) или HTMLLoader (если Вы хотите использовать веб-Flashplayer, EBF5 использует это) и взаимодействует с ним с помощью LocalConnection. Это работает аналогично с AS2 и AS3 swfs. LocalConnection достаточно надежен, если только компьютер пользователя не находится под большим стрессом - тогда соединение может быть закрыто - так что, возможно, стоит периодически проверять / переделывать его.
На самом деле я не уверен, если вам нужен веб-проигрыватель Flash Player или достаточно проигрывателя Flash Player в AIR. В любом случае Flashplayer AIR удаляет параметры качества сцены LOW и MEDIUM, что может быть хорошей причиной для использования веб-интерфейса, если вам нужна эта функция.
В последних версиях AIR не будет включен веб-проигрыватель Flash Player. пакет (ожидая, что пользователь установит его). Вы можете использовать более старую версию AIR (AIR 21 или более раннюю, требующую пиратскую версию Fla sh CC2015), чтобы включить «плененный» Flashplayer, или использовать этот неясный обходной путь в более новых версиях:
- Установите NPAPI fla sh player из https://get.adobe.com/flashplayer/npapi/
- Загрузите последнюю версию AIRSDK из https://adobe.com/devnet/air/air-sdk-download.html, затем удалите / переименуйте эти файлы: \ runtimes \ air- captive \ win \ Adobe AIR \ Versions \ 1.0 \ Resources \ NPSWF32.dll \ runtimes \ air-captive \ win64 \ Adobe AIR \ Versions \ 1.0 \ Resources \ NPSWF64.dll
и заменить их на : C: \ Windows \ SysWOW64 \ Macromed \ Flash \ NPSWF32_32_0_0_192.dll (вставьте его в указанное место и переименуйте файл в NPSWF32.dll) И: C: \ Windows \ System32 \ Macromed \ Flash \ NPSWF64_32_0_0_192. dll (вставьте его в указанное выше место и переименуйте файл в NPSWF64.dll)
По сути, вы просто изменяете некоторые файлы-заполнители, чтобы обмануть компилятор, включая Flashplayer. Если после изменения файлов вы опубликуете sh свое приложение AIR, пользователю не нужно будет устанавливать Flashplayer.
Вы не сможете понять это самостоятельно. Я получил помощь от программистов Adobe после того, как мои жалобы стали популярными в Твиттере. Это плохо документировано, но когда вы знаете, что делать, это не так много работы.
Это трудная задача.
Вы можете использовать FRESteamWorks () ANE для простой реализации достижений Steam, списков лидеров и других функций. (https://github.com/Ventero/FRESteamWorks) Вам просто нужно включить это в исходные файлы вашей оболочки. Игровой swf должен сообщить обёртке, когда вы хотите разблокировать достижение et c.
Что касается сохранения данных для игр, то ленивым вариантом будет продолжать использовать файлы Fla sh sol. Похоже, что они реже удаляются, если они сделаны настольным приложением. В противном случае вам придется отправлять свои данные через LocalConnection (возможно, из нескольких частей, я думаю, что ограничение составляет 40 КБ за раз) в оболочку, которая затем может создать текстовый файл в любом формате, который вам нравится. Если вы сохраните файлы в папке установки, то облако Steam может автоматически создавать их резервные копии без какого-либо дополнительного кода, необходимого вам.
Еще одна вещь, на которую следует обратить внимание: наложение Steam будет зависать, если ваша SWF-графика не обновляется. Если у вас есть моменты без анимации, вы должны спрятать там анимацию, чтобы наложение продолжало корректно обновляться.
Свяжитесь с нами, если вам нужна дополнительная информация!