Livecoding with COLT

Совсем недавно команда под предводительством Евгения Потапенко показала миру инструмент для лайвкодинга под названием Code Orchestra Livecoding Tool (COLT).  Штука получилась просто волшебная, лично я от неё в восторге. Почитать можно на официальном сайте. Пока что, есть некоторые баги, но они очень оперативно исправляются. Ещё не все возможности, которые были заявлены, реализованы. Они появятся чуть позже.

Также объявлен конкурс, в котором можно выиграть одну из пятидесяти лицензий на программу.

Моя скромная работа.

Native extensions

Некоторое время назад я написал четыре расширения для android. В первую очередь писал, чтобы научиться. В итоге захотелось создать целую серию разных расширений, но погуглив, понял, что их можно найти великое множество под самые разные цели. Многие из них с открытым кодом. Если уж писать свои расширения, то под специфические задачи, под которые готовых расширений нет или есть, но они устраивают не полностью.

Я совершенно не ожидал, что мои расширения кто-то найдёт на гитхабе, и кого-то они даже заинтересуют, так как аналогов полно. Но на почту я получил несколько писем от разных людей с вопросами и благодарностями.  В общем, делюсь.

Android Communication Extension. Возможности:

  • набрать номер телефона;
  • позвонить по номеру телефона;
  • отправить смс;
  • отправить email.

Android File Extension. Возможности:

  • открыть локальный файл любого типа в нативном android приложении.

Android Notification Extension. Возможности:

  • показ Toast;
  • показ AlertDialog (без кнопок, или с кнопками — от 1 до 3);
  • показ ListDialog с любыл количеством кнопок.

Android Sharing Extension. Возможности:

  • поделиться текстом;
  • поделиться изображением.

Инструкции и примеры использования есть по ссылкам.

Android AIR notification ane

Залил на github пример Native Extension для Android под названием Notification Extension.
Расширение позволяет отображать нативные Alert и Toast.

https://github.com/illuzor/NotificationExtention

Вот подробный урок, ради которого расширение и писалось.

DialogManager — библиотека для отображения диалоговых окон

Хочу поделиться небольшой библиотекой собственного производства.

Она представляет собой менеджер диалоговых окон.

Особенности:

  •  библиотека очень проста в работе;
  •  размер диалога подгоняется автоматически в зависимости от количества текста и количества кнопок;
  • при изменении размера сцены менеджер автоматически приспосабливается и корректирует размер фона и положения диалога;
  • возможность показывать только текст (информационные сообщения) и текст вместе  с кнопками;
  • очередь диалоговых окон.

Читать далее «DialogManager — библиотека для отображения диалоговых окон»

Удобный доступ к методам класса загруженного swf

Иногда работа с классами из загруженного .swf файла бывает не очень удобной из-за того, что загружающий .swf не знает классов загружаемого.

Читать далее «Удобный доступ к методам класса загруженного swf»

Полезные инструменты для as3 разработчика

Чем больше я работаю с as3, тем больше различных вспомогательных инструментов встречаю. Странно, но некоторые разработчики о них даже не догадываются.

Это мини обзор таких инструментов.

Читать далее «Полезные инструменты для as3 разработчика»

InGit

Создал сегодня свой первый публичный репозиторий.

https://github.com/illuzor/Simple-Android-Game

Там живёт исходник примера простой игры для Android на AIR Mobile. Возможно, пригодится тем, кто раньше не работал с мобильным AIR и хочет посмотреть, что это вообще такое.

Игра с акселерометром, локальным хранилищем, вибрацией(NativeExtention).

Несколько скриншотов:

 

Подробный урок:

Часть 1

Часть 2

UDK, Scaleform, AS3

Изучаю интересную штуку под названием Scaleform под Epic UDK.

Если кратко, то это система для создания интерфейсов на флеше для крупных игровых движков(Unreal Engine 3, Cry Engine и другие).

Вот что у меня получается:

И пример того, что можно сделать:

Мобильные AIR приложения во FlashDevelop

Во FlashDevelop  4 очень просто работать с мобильными AIR приложениями для IOS/Android. Это направление является для его разработчиков одним из наиболее приоритетных и активно развивается.

Для начала нам нужно создать новый проект AIR Mobile AS3 App или AIR Mobile Flex App. После создания проекта наблюдаем следующую картину:

По порядку:

Папка bat содержит несколько пакетных файлов:

  • CreateCertificate.bat нужен для генерации self-signed сертификата для Android. Без этого сертификата не получится собрать apk. С сертификатами для IOS всё не так просто.
  • InstallAirRuntime.bat устанавливает AIR runtime на Android устройство из %FLEX_SDK%\runtimes\air\android\device\runtime.apk. Лучше самостоятельно установить последнюю версию из AndroidMarket.
  • Packager.bat упаковывает флешку в apk(android) или ipa(ios) в зависимости от платформы, под которую пишется приложение.
  • SetupApplication.bat  содержит различные параметры приложения (пути к сертификатам, пароли от них, название приложения и т.п.)
  • SetupSDK.bat содержит путь к FlexSDK. Определяется автоматически, если не определился, нужно прописать вручную. И также содержит путь к AndroidSDK. На самом деле из него нужны только три файла: adb.exe, AdbWinApi.dll и AdbWinUsbApi.dll. Причём они уже содержатся в дистрибутиве FlashDevelop и путь к ним прописывается также автоматически.
В папку bin помещается скомпилированный swf файл.
В папке sert должны лежать сертификаты.
Папка icons содержит наборы иконок.
Две стандартные папки lib и src. Нужны для  библиотек и классов соответственно.
Корневая папка:
  • Стандартный для AIR приложений application.xml с различными параметрами приложения.
  • PackageApp.bat позволяет выбрать платформу и тип упаковки приложения. После выбора упаковывает. Появляется папка dist c apk или ipa.
  • Run.bat заливает приложение на мобильное устройство и запускает его там.
  • Два файла AIR_Android_readme.txt и AIR_iOS_readme.txt с инструкциями.
К сожалению, IOS устройства для теста у меня под рукой нет, поэтому расскажу, как работать с приложением на примере Android. Но не думаю, что у ios в этом плане есть коренные различия.
Сначала нам нужно сгенерировать сертификат. Запускаем CreateCertificate.bat и сертификат появляется в папке sert. Также все параметры, связанные с сертификатом автоматически прописываются в конфигах. Если говорить о подготовке, то это всё. Можно писать код и тестировать.
Для тестирования на мобильном устройстве понадобится кабель для подключения к компьютеру и ADB драйвер для устройства, который можно найти по ссылке.
Не забудьте установить Adobe AIR на устройство. Также на устройстве необходимо включить USB Debug Mode.
И последнее — в файле Run.bat меняем строку goto desktop на goto android-debug.
Тестирование происходит следующим образом:
  1. сначала нужно скомпилировать флешку — project/build project, F8 или нажмите на кнопку в виде шестерёнки.
  2. запускаем PackageApp.bat выбираем пункт [2] debug    (apk-debug), ждём, пока соберётся apk.
  3. в основном меню выбираем Debug/Start Remote Session.
  4. запускаем Run.bat который зальёт приложение на девайс и запустит его там.
Пока приложение заливается, дебаггер ждёт соединения. Как только приложение запущено на устройстве, можно пользоваться дебаггером и ловить трейсы прям с устройства. Обратите внимание на то, что соединению может помешать фаервол.  Профайлер, к сожалению, не работает или просто я не смог его запустить.
Есть второй способ и он намного проще: просто выбираем Project/Test Project или F5 или нажимаем кнопку в виде «play». Пункты 1-4 выполнятся автоматически. Это очень удобно.

 

Таким образом можно разрабатывать приложения одновременно под Android и IOS, конечно с учётом особенностей каждой ос. Также малыми потерями можно портировать ваши Flash/Flex приложения на мобильные устройства.