
Разработчики из Flash Runtime + Air пообщаются с нами!
Не пропустите онлайн встречу с разработчиками из Adobe!

Среди докладчиков будут такие личности:
— Chris Campbell (продукт менеджер) обсудит roadmap
— Govinda Gupta познакомит с новой возможностью компилятора -useLegacyAOT для молнеиносной сборки под iOS
— Romil Mittal расскажет про PlayPanel и разъяснит некоторые маркетинговые вопросы
— Ashok Kuruvilla поведает про использование мобильного Air приложения в качестве геймпада для desktop
— Cheng Liao расскажет о новых возможностях Stage3D и о планах развития
Доклады начнутся 21 Апреля в 16:00 по Киеву (17:00 по Москве)
Стартовать отсюда gonchar.me/stage3d/

Среди докладчиков будут такие личности:
— Chris Campbell (продукт менеджер) обсудит roadmap
— Govinda Gupta познакомит с новой возможностью компилятора -useLegacyAOT для молнеиносной сборки под iOS
— Romil Mittal расскажет про PlayPanel и разъяснит некоторые маркетинговые вопросы
— Ashok Kuruvilla поведает про использование мобильного Air приложения в качестве геймпада для desktop
— Cheng Liao расскажет о новых возможностях Stage3D и о планах развития
Доклады начнутся 21 Апреля в 16:00 по Киеву (17:00 по Москве)
Стартовать отсюда gonchar.me/stage3d/

Отладка и установка AIR приложений на Android через WI-FI
1
Оставлю небольшую заметку на будущее.
Сломался mini-usb кабель от моего Galaxy S2, нужно тестировать приложение на девайсе, а кабель идти покупать лень.
Читать дальше →
Сломался mini-usb кабель от моего Galaxy S2, нужно тестировать приложение на девайсе, а кабель идти покупать лень.
Читать дальше →

Самый ужасный проект, какой я только видел.
Прислали мне на поддержку один мобильный AIR проект со словами: «Нужно на 99% то же самое, только надо поменять графику, звуки и тексты.»
Ок, подумал я, дело не хитрое. Но когда я увидел исходники, у меня волосы на голове зашевелились и борода местами поседела. Кажется, в этом проекте сделаны все ошибки, какие только можно сделать и даже больше. Я даже представить не мог, что такое бывает.
Вот что именно я увидел:
Читать дальше →
Ок, подумал я, дело не хитрое. Но когда я увидел исходники, у меня волосы на голове зашевелились и борода местами поседела. Кажется, в этом проекте сделаны все ошибки, какие только можно сделать и даже больше. Я даже представить не мог, что такое бывает.
Вот что именно я увидел:
Читать дальше →

Управление мышью ПК посредством мобильного на Air и ANE

Привет друзья! Это уже наверное 3я редакция данной статьи :) Каждый раз находя в ней ошибки и логические нестыковки — все дальше и дальше уходило желание в её публикации :)
Предыстория:
На работе клиенту понадобилось двигать мышку на его PC под управлением Windows7 удаленно с помощью iPad. Удаленно — в нашем случае было по внутренней сети WiFi. А администратор надохится в 4х метрах перед громадным экраном :) Причем тут флеш? Всё просто. Сделал я это с помощью Native Extension и Adobe Air. Я не обладаю глубокими знаниями ни Objective-C ни С++. Собрать HelloWorld — это не знания :) По-этому, вопрос о 100% нативном решении даже не рассматривался. Откуда я узнал как нажать виртуально мышку и сместить курсор — ответ есть в гугл и msdn ) Все гуглится за пару минут.
Читать дальше →

Air VS OpenFL. Тест Nape.



Всем привет!
Наконец-то я собрался и сделал демки на AS3 и Haxe, чтобы сравнить производительность Nape на iPad 3.
Читать дальше →

Adobe Air 4 & Flash Player 12

Здравствуйте, господа разработчики!
Вопреки мнениям различных конокрадов — Adobe, как и раньше, продолжает инвестировать в Adobe Flash Runtime! Писать о каждом выходе очередной минор версии смысла нет. Но в этом случае — просто необходимо. Ведь повод для этого — Flash Runtime версии 12 и Air версии 4. Скачать можно как обычно из бета лаборатории labs.adobe.com
Под катом еще несколько строк текста.
Читать дальше →

Adobe Air заметки
В первую очередь это для самого себя. Чтоб не потерять мысли :)
Перечень иконок, предоставленные Colin Holgate, thank you :)
— Для тех, кому нужна AS3 справка в offline — можете скачать ее тут help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/standalone.zip
— Есть такая клевая игра SnailBoy www.youtube.com/watch?v=6PVTAI0C_og и у нее последнее время пошло много негативных отзывов. Игра на Air 3.9, Starling, Nape и т.д. Причину отзывов я решил уточнить у ее автора. Оказалось 60 000+ пользователей (со слов автора игры) жаловались не на краши (их было всего 5 штук), а на невозможность загрузки уровня. Игра зависала. Автор игры заверил меня, что это не Air виноват, а он допустил косяк в коде и сейчас вопрос решен )
— Когда необходимо поменять цвет StatusBar на iOS с черного на белый — в XML дескрипторе добавляем:
UIStatusBarStyle
UIStatusBarStyleLightContent
— В Air IPAInfoPlist.java поменять XCode идентификаторы на 5.0 (сейчас 4.5)
— При сборке через коммандную строку можно настраивать уровень оптимизации и инлайна кода. А еще… можно невероятно уменьшать размер файла. Но с этим надо работать — мне просто лень ковыряться в ядре Air. Можно отрезать внеднерние frameworks встроенных в cборку.
— Air так долго делает сборку под мобилы лишь потому, что из файлов 5-20 мегабайт делается бинарник сжатый arсlite'ом
— Во время компиляции приложений Adobe Air iOS — создается байткод на ассемблере и он же собирается. При желании его можно выкусить и восстановить вручную и получить исходниник Adobe Air для iOS. Впринципе это можно делать полностью через коммандную строку. Не так, как обычно это делается. Я имею ввиду, что с помощью разных as-arm.exe, arm-apple-darwin9-as.exe, ld64.exe и т.д. идущик в комплекте с Adobe Air. Мало кто в реальности поманиет сложность и гениальность создания компилятора под iOS из под Windows. Unity3D это не просто так не могут сделать. Они будут приводить разные отмазки на этот счет. Но… просто у них видимо все на Mac OS работают и они решили не париться на этот счет :)
p.s. постепенно буду дополнять
Перечень иконок, предоставленные Colin Holgate, thank you :)
These are the Android sizes:
<icon>
<image48x48>icons/48.png</image48x48>
<image72x72>icons/72.png</image72x72>
<image36x36>icons/36.png</image36x36>
<image96x96>icons/96.png</image96x96>
<image144x144>icons/144.png</image144x144>
</icon>
These are the iOS 7 sizes:
<icon>
<image40x40>icons/40.png</image40x40>
<image76x76>icons/76.png</image76x76>
<image80x80>icons/80.png</image80x80>
<image120x120>icons/120.png</image120x120>
<image152x152>icons/152.png</image152x152>
<image48x48>icons/48.png</image48x48>
<image72x72>icons/72.png</image72x72>
<image36x36>icons/36.png</image36x36>
<image96x96>icons/96.png</image96x96>
<image29x29>icons/29.png</image29x29>
<image57x57>icons/57.png</image57x57>
<image114x114>icons/114.png</image114x114>
<image512x512>icons/512.png</image512x512>
<image50x50>icons/50.png</image50x50>
<image58x58>icons/58.png</image58x58>
<image100x100>icons/100.png</image100x100>
<image144x144>icons/144.png</image144x144>
<image1024x1024>icons/1024.png</image1024x1024>
</icon>
— Для тех, кому нужна AS3 справка в offline — можете скачать ее тут help.adobe.com/ru_RU/FlashPlatform/reference/actionscript/3/standalone.zip
— Есть такая клевая игра SnailBoy www.youtube.com/watch?v=6PVTAI0C_og и у нее последнее время пошло много негативных отзывов. Игра на Air 3.9, Starling, Nape и т.д. Причину отзывов я решил уточнить у ее автора. Оказалось 60 000+ пользователей (со слов автора игры) жаловались не на краши (их было всего 5 штук), а на невозможность загрузки уровня. Игра зависала. Автор игры заверил меня, что это не Air виноват, а он допустил косяк в коде и сейчас вопрос решен )
— Когда необходимо поменять цвет StatusBar на iOS с черного на белый — в XML дескрипторе добавляем:
UIStatusBarStyle
UIStatusBarStyleLightContent
— В Air IPAInfoPlist.java поменять XCode идентификаторы на 5.0 (сейчас 4.5)
— При сборке через коммандную строку можно настраивать уровень оптимизации и инлайна кода. А еще… можно невероятно уменьшать размер файла. Но с этим надо работать — мне просто лень ковыряться в ядре Air. Можно отрезать внеднерние frameworks встроенных в cборку.
— Air так долго делает сборку под мобилы лишь потому, что из файлов 5-20 мегабайт делается бинарник сжатый arсlite'ом
— Во время компиляции приложений Adobe Air iOS — создается байткод на ассемблере и он же собирается. При желании его можно выкусить и восстановить вручную и получить исходниник Adobe Air для iOS. Впринципе это можно делать полностью через коммандную строку. Не так, как обычно это делается. Я имею ввиду, что с помощью разных as-arm.exe, arm-apple-darwin9-as.exe, ld64.exe и т.д. идущик в комплекте с Adobe Air. Мало кто в реальности поманиет сложность и гениальность создания компилятора под iOS из под Windows. Unity3D это не просто так не могут сделать. Они будут приводить разные отмазки на этот счет. Но… просто у них видимо все на Mac OS работают и они решили не париться на этот счет :)
p.s. постепенно буду дополнять

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. Часть вторая
Часть первая
Продолжаем делать нашу «игру». В этой части рассмотрим вибрацию, акселерометр, локальное хранилище. Понадобится исходник из прошлого урока, будем его дорабатывать.
Сделаем так, чтобы при попадании красного айтема на платформу срабатывала короткая вибрация. Но вот проблема — у 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 уже написали это расширение. Надо только им воспользоваться.
Читать дальше →