
Adobe AIR + Nape Physics. Разработка под iOS.
Итак, недавно я купил Mac mini, т.к. давно мечтал заняться портированием одной из своих игрушек под iOS. Вопрос стал в выборе платформы, и я какое-то время склонялся к Adobe Air, пока не копнул глубже…

На днях у нас была локальная «конференция» из пяти человек в одном из питерских баров KillFish. И там мы обсудили мельком и Air, и Unity, и Cocos2d, и прочее… Я голосовал за AIR, т.к. думал, что раз уж «Angry Birds: Star Wars» сделана на Starling + Air, и она летает с приличным количеством физики и эффектов — значит, это мой выбор! Тем более, многие видели демки на Starling, где в iOS мы наблюдаем сотни анимированных объектов со стабильными 60 fps. Но на деле… всё упирается в физику.
З.Ы. ДАННЫЕ В СТАТЬЕ ОБНОВЛЕНЫ!!!
Читать дальше →

На днях у нас была локальная «конференция» из пяти человек в одном из питерских баров KillFish. И там мы обсудили мельком и Air, и Unity, и Cocos2d, и прочее… Я голосовал за AIR, т.к. думал, что раз уж «Angry Birds: Star Wars» сделана на Starling + Air, и она летает с приличным количеством физики и эффектов — значит, это мой выбор! Тем более, многие видели демки на Starling, где в iOS мы наблюдаем сотни анимированных объектов со стабильными 60 fps. Но на деле… всё упирается в физику.
З.Ы. ДАННЫЕ В СТАТЬЕ ОБНОВЛЕНЫ!!!
Читать дальше →

Создание Native Extension для Android на Java и ActionScript 3
2
Наверняка, многие, кто разрабатывает мобильные игры на AIR используют расширения называемые Native Extension. Но не все знают, как эти расширения делаются. Об этом я расскажу в данном уроке. Материал очень подробный, но простым я его назвать не могу. Установку и настройку FlashDevelop + Flex SDK + AIR SDK я опущу, в отличии от установки и настройки Eclipse + Android SDK.
Adobe AIR с версии 3.0 поддерживает специальные расширения(собственно Native Extensions). Они позволяют AS3 взаимодействовать с собственным кодом платформы, под которую написано AIR приложение. Нативный язык позволяет полноценно работать с api операционной системы, а AS3 может взаимодействовать с нативными кодом. То есть можно работать с любыми функциями API платформы через AS3. На данный момент поддерживаются Windows, OSX, iOS и Android. Мы будем писать небольшое расширение на Java+AS3 под платформу Android. Делается это следующим образом: пишется AS3 код, пишется java код, запаковывается в библиотеки и специальным образом компилируется через adt. Звучит просто, но на деле всё немного сложней. Потребуется довольно большое количество инструментов и различных настроек.
Читать дальше →
Что такое Native Extension и зачем он нужен?
Adobe AIR с версии 3.0 поддерживает специальные расширения(собственно Native Extensions). Они позволяют AS3 взаимодействовать с собственным кодом платформы, под которую написано AIR приложение. Нативный язык позволяет полноценно работать с api операционной системы, а AS3 может взаимодействовать с нативными кодом. То есть можно работать с любыми функциями API платформы через AS3. На данный момент поддерживаются Windows, OSX, iOS и Android. Мы будем писать небольшое расширение на Java+AS3 под платформу Android. Делается это следующим образом: пишется AS3 код, пишется java код, запаковывается в библиотеки и специальным образом компилируется через adt. Звучит просто, но на деле всё немного сложней. Потребуется довольно большое количество инструментов и различных настроек.
Читать дальше →

Создание простой игры для Android на AIR. Часть вторая
1
Часть первая
Продолжаем делать нашу «игру». В этой части рассмотрим вибрацию, акселерометр, локальное хранилище. Понадобится исходник из прошлого урока, будем его дорабатывать.
Сделаем так, чтобы при попадании красного айтема на платформу срабатывала короткая вибрация. Но вот проблема — у AIR нет доступа к API вибрации. На помощь приходит замечательная вещь под названием Native Extension. Native Extension — это средство для взаимодействия ActionScript 3 кода с собственным кодом разработки для платформы, на которой запускается приложение. Для Android — это Java. На этом языке разрабатываются нативные приложения для андроида. Каждое расширение(extension) состоит из двух частей — собственного кода платформы и AS3 кода. Всё это упаковывается в файл с расширением ane, который подключается к проекту. Также расширение имеет идентификатор, который нужно прописать в application.xml. Таким образом Native Extension позволяет получить доступ к API операционной системы через ActionScript 3. Выходит, что нам нужно написать расширение на Java и AS3 код. В случае с вибрацией этого делать не придётся, так как добрые разработчики из Adobe уже написали это расширение. Надо только им воспользоваться.
Читать дальше →
Продолжаем делать нашу «игру». В этой части рассмотрим вибрацию, акселерометр, локальное хранилище. Понадобится исходник из прошлого урока, будем его дорабатывать.
Вибрация.
Сделаем так, чтобы при попадании красного айтема на платформу срабатывала короткая вибрация. Но вот проблема — у AIR нет доступа к API вибрации. На помощь приходит замечательная вещь под названием Native Extension. Native Extension — это средство для взаимодействия ActionScript 3 кода с собственным кодом разработки для платформы, на которой запускается приложение. Для Android — это Java. На этом языке разрабатываются нативные приложения для андроида. Каждое расширение(extension) состоит из двух частей — собственного кода платформы и AS3 кода. Всё это упаковывается в файл с расширением ane, который подключается к проекту. Также расширение имеет идентификатор, который нужно прописать в application.xml. Таким образом Native Extension позволяет получить доступ к API операционной системы через ActionScript 3. Выходит, что нам нужно написать расширение на Java и AS3 код. В случае с вибрацией этого делать не придётся, так как добрые разработчики из Adobe уже написали это расширение. Надо только им воспользоваться.
Читать дальше →

Создание простой игры для Android на AIR. Часть первая
Вместо вступления.
Приветствую всех.
Этот урок был написан в марте 2012. Сейчас я решил опубликовать его на данном ресурсе. Код решил не менять, прошу сильно к нему не придираться(сам бы придрался). Немного доработан сам текст урока и комментарии в коде. Цель урока — не научить делать игры, что в рамках одного урока само по себе невозможно, а продемонстрировать основы работы с мобильным AIR. Почему именно Android, а не ios? Потому что на момент написания урока под рукой был только он. Под ios всё делается практически так же, но есть некоторые отличия, о которых написано в конце второй части урока.
Буду рад любым комментариям, замечаниям, указанием на ошибки.
Немного теории.
Adobe AIR позволяет создавать на ActionScript 3 и MXML для iOS и Android приложения, которые для пользователя ничем не будут отличать от нативных. Их, как и любые нативные приложения, можно распространять через фирменные магазины приложений Apple AppStore и Google Play Store (бывший Android Market). С версии AIR 3.2 появилась поддержка Stage3D. Для работы AIR приложения на Android нужно установить на устройство AIR Runtime, или же при компиляции в captive-runtime среда выполнения вшивается в apk. При этом установка AIR Runtime на девайс не требуется.
При работе с мобильными устройствами стоит учитывать, что разрешения их дисплеев ниже(уже есть и такие, у которых выше), чем у мониторов компьютеров и их физические размеры тоже значительно меньше. Также есть такие понятия, как «физический размер пикселя» и «плотность пикселей», поэтому нужно уделить внимание размеру различных графических элементов(кнопок, персонажей игры и т.д.). В общем, это целая наука и мы не будем останавливаться на ней подробно.
Метод ввода — сенсорный дисплей. Для обработки сенсорного ввода существует специальное событие TouchEvent, хотя и события мыши обрабатываются корректно. Также есть другие особенности, о которых я расскажу в ходе урока.
Читать дальше →

Пишем приложение AIR под iOS: работаем с касаниями и акселерометром.

Читать дальше →

Крашится iIPA.exe? Исправим!
Удобная штуковина этот дебаг на устройстве через USB! Flash Builder даже сам устанавливает приложение.
Но вот вчера я столкнулся с тем, что некий iIPA.exe стал вылетать под Windows 7, тем самым наламывая весь кайф.
Решение было найдено такое:
Проблема решена!
Но вот вчера я столкнулся с тем, что некий iIPA.exe стал вылетать под Windows 7, тем самым наламывая весь кайф.
Решение было найдено такое:
- заходим в папку [Flash Builder Folder]\eclipse\plugins\com.adobe.flash.compiler_4.7.0.345990\AIRSDK\lib\aot\bin\iOSBin
- правой кнопкой по iIPA.exe выбираем «Свойства»
- во вкладке «Совместимость» ставим галочку на «Запустить программу в режиме совместимости с:» и выбираем из списка «Windows 7»
Проблема решена!

[Android App] Гадания маятником
Что-то совсем стали редкими блоги. Скучно. Напишу немного о своем новом приложении — «Гадания маятником»
AIR for Android. Flex.
Страничка на Google Play
В приложении впервые внедрил оплату in app purchase. Если есть возможность, то прошу это протестировать — все деньги верну в двойном размере даже если не удастся отменить платеж (только сообщите почту предварительно). Сам протестировать не могу, т. к. маркет не разрешает покупать у себя.
Жду отзывов.

Читать дальше →
AIR for Android. Flex.
Страничка на Google Play
В приложении впервые внедрил оплату in app purchase. Если есть возможность, то прошу это протестировать — все деньги верну в двойном размере даже если не удастся отменить платеж (только сообщите почту предварительно). Сам протестировать не могу, т. к. маркет не разрешает покупать у себя.
Жду отзывов.

Читать дальше →

Разработка под iOS: Создание Certificate и Provisioning файлов в Windows

Читать дальше →

Реклама AdMob и мобильные Air приложения

Читать дальше →

"Stack It Up!" для iPhone
Маленькая радость у вашего покорного слуги: адаптированная под iPhone AIR-игра «Stack it Up!» вышла на АппСтор. Правда, из-за того, что такое имя уже занято, игра была залита под названием «Build Up».

Игрушка получилась в меру кривенькая и стрёмненькая, но я всё равно ей горжусь, как первенцем.
Собрано в AIR 2.7, запускается только на iOS 4+. Работает довольно гладко, но, на самом деле, «на пределе» — если бы на игровом поле было в полтора-два раза больше объектов, то тормозило бы уже ощутимо — благодаря сочетанию Box2D и моих кривых граблерук.
А вообще, мне понравилось работать с AIR for iOS. Пусть и надо повозиться с оптимизацией кода и ресурсов, но зато это даёт +1 к навыку написания грамотного кода, +1 к скиллу продумывания интерфейса и +100500 к чувству собственной клёвости :)
Спасибо за внимание и поддержку!

Игрушка получилась в меру кривенькая и стрёмненькая, но я всё равно ей горжусь, как первенцем.
Собрано в AIR 2.7, запускается только на iOS 4+. Работает довольно гладко, но, на самом деле, «на пределе» — если бы на игровом поле было в полтора-два раза больше объектов, то тормозило бы уже ощутимо — благодаря сочетанию Box2D и моих кривых граблерук.
А вообще, мне понравилось работать с AIR for iOS. Пусть и надо повозиться с оптимизацией кода и ресурсов, но зато это даёт +1 к навыку написания грамотного кода, +1 к скиллу продумывания интерфейса и +100500 к чувству собственной клёвости :)
Спасибо за внимание и поддержку!