+33.51
8 читателей, 6 топиков

Создание Native Extension для Android на Java и ActionScript 3

2
Наверняка, многие, кто разрабатывает мобильные игры на AIR используют расширения называемые Native Extension. Но не все знают, как эти расширения делаются. Об этом я расскажу в данном уроке. Материал очень подробный, но простым я его назвать не могу. Установку и настройку FlashDevelop + Flex SDK + AIR SDK я опущу, в отличии от установки и настройки Eclipse + Android SDK.

Что такое Native Extension и зачем он нужен?


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

Shooting club 2 - релиз

Всем привет,

Сегодня хочу рассказать о долгожданном запуске одного из моих самых-самых долгостроев, но похоже он же будет и самым удачным стартом из моих любительских игр на Android (тьфу-тьфу!). Итак, встречаем Shooting club 2: Sniper.


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

Создание простой игры для 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 уже написали это расширение. Надо только им воспользоваться.

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

Создание простой игры для 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, хотя и события мыши обрабатываются корректно. Также есть другие особенности, о которых я расскажу в ходе урока.

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

Живые обои на Android - разработка небольших проектов

Как все начиналось

Всем привет. Где-то в начале августа мой (уже бывший) шеф обмолвился что ребята с фирмы (это они) уволились и сейчас занимаются разработкой живых обоев под Android. Так как к тому моменту я устал от текущего большого проекта (почти год разработки социальной игры), то очень заинтересовался этой темой. Моменты которые заинтересовали очень просты:
1) Короткий период разработки (в пределах двух недель)
2) Длинный «хвост» профита
Определенно заинтересовала следующая тема — месяца три усердно поделать обои, а потом расслабиться и получать удовольствие не особо заботясь о том что покушать делать свои игры.
Читать дальше →

Money or Death: разработка, монетизация, продвижение и пр. насущные вопросы Android-разработчика на примере одной игры

1
Здравствуйте!

Прежде всего, я хочу представиться этим постом уважаемому сообществу. Меня зовут Андрей, я работаю программистом, как не трудно догадаться по моему нику. Правда работа моя никак не связана со столь захватывающим направлением как gamedev. Я занимаюсь гораздо более приземленными и иногда даже скучными вещами, такими как системная интеграция, 1С, data exchange, ESB, веб-сервисы и прочее. Но я всегда (как и многие из нас, я уверен!), мечтал делать игры. И вот теперь, я стараюсь по мере сил (и свободного времени) воплощать эту свою мечту в жизнь. Для себя я выбрал платформу Android, не буду вдаваться в детали почему не Flash или iOS, или даже WinPhone 7, просто так сложилось. Не знаю насколько эта тема уместна и интересна здесь, но раз блог «Android» есть, то причин не поделится своим опытом — я не вижу. Последнее отступление которое я хотел бы сделать, прежде чем перейти к сути своего сегодняшнего рассказа, это извиниться за некоторую сумбурность моего повествования (а она несомненно будет), так как большого опыта в написании статей у меня нет, как впрочем и в разработке игр, чего уж там. Итак поехали!
Читать дальше →