Экспортируйте flash-игры как "встраиваемые" для iOS и Android
Наша ситуация сейчас такова, что у нас есть пара игр, созданных с помощью flash / actionscript3, которые мы хотим портировать на iOS / Android. При необходимости мы могли бы переписать все эти маленькие игры, хотя, если это нужно сделать, я хочу переделать их правильно, что приводит к моему вопросу:
Это должно быть переписано? Есть ли способ экспортировать игры на основе формата 3, чтобы впоследствии их можно было "встроить" в собственное приложение для iOS / Android? Или, если нет, есть какая-либо настройка, которая позволила бы нам разрабатывать кроссплатформенные игры, в то время как сам "app-container" остается родным. До сих пор я был нацелен на Adobe Air, Haxe и Cocos2D, которые могли бы хорошо соответствовать нашей цели, но, поскольку у меня нет особого опыта, который я могу извлечь из этого, я изо всех сил стараюсь принять обоснованное решение.
Мне бы очень хотелось услышать ваше мнение об этой идее "native-container" + "embeded-games" или ваши предложения относительно кросс-платформенной разработки, в основном с учетом настольных компьютеров, iOS и Android. Разделение игр и приложений друг от друга звучит для меня намного чище и должно облегчить одновременную разработку, но это только дикое предположение.
Большое спасибо, Джери
2 ответа
Я бы поспорил за портирование на Haxe. Никогда ранее не использовав Haxe, я перенес весь MMO-клиент ActionScript в Haxe за выходные. Это так просто. Определенно стоит потраченного времени, так как оно освобождает вас от зависимости от потенциально умирающей платформы. Единственная боль в языке - паршивый стиль pascal для петель ().
Тем не менее, имейте в виду, что есть пределы того, что он может сделать.
Например, цель компиляции HTML5 требует (из-за ограничений HTML5), что вы используете WebSockets вместо Sockets, что также потребует некоторой работы на стороне сервера.
А расширенные текстовые поля - это боль при кросс-компиляции: практически нет веб-языка, который бы правильно их понимал, и все они требуют огромной работы, чтобы получить что-то даже приближенное к приличному: Flash Text Engine не был перенесен в Haxe для мои знания, так что вы не можете ничего с этим поделать.
Поскольку вы уже написали игру для AS3, я бы предложил использовать Adobe Air для публикации на iOS и Android. Производительность должна быть достаточно приличной в зависимости от игры. Это хороший учебник для упаковки приложений Air на iOS, http://www.adobe.com/devnet/air/articles/packaging-air-apps-ios.html.
Что касается будущего развития, я согласен с Dewi Morgan в взгляде на Haxe и OpenFL (X больше не пишется с большой буквы). API соответствует Flash и в большинстве случаев будет работать аналогично. OpenFL wiki - отличное место для начала. Есть также два популярных порта фреймворков Flash, HaxeFlixel и HaxePunk, которые могут ускорить процесс разработки.
Cocos2D, безусловно, тоже вариант, хотя, если вы уже знакомы с Flash API, OpenFL имеет куда больше смысла.