Как стать автором
Обновить
4.8

Action Script *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Проект Adobe Playpanel закрывается 31 Января 2016 года

Время на прочтение1 мин
Количество просмотров2.9K
image

В сентябре 2013 года был запущен проект Adobe Playpanel. В Playpanel можно было искать зафичеренные портальные игры, вести учет игровых сессий (в портальных играх и на страницах соц. сетей), через контекстное меню на порталах делать быструю закладку на страницу, чтоб получать туда быстрый доступ из Playpanel и еще пару-тройку возможностей.
Читать дальше →

Пару слов о «смерти» Flash, Animate CC и Web стандартах

Время на прочтение3 мин
Количество просмотров57K
Сегодня интернет начал разрываться от статей на тему "Adobe прощается с Flash".

UPD 6 Декабря 2015:
Продукт менеджер Flash Runtime и Adobe AIR сказал, что они не имеют планы на прекращение работы по Flash Runtime и AIR и переименование продукта для создания контента никак не связано с судьбой Flash Player и смежной экосистемы.


Все бы ничего, кроме одного нюанса, который сильно меняет смысл — техническая безграмотность и всеобщий copy-paste. Издания перепечатывают друг друга, добавляя всё новые и новые «факты», которых нет в оригинале. Одним словом — испорченный телефон.

image

Оригинальная статья http://blogs.adobe.com/conversations/2015/11/flash-html5-and-open-web-standards.html сообщает о том, что Adobe переименовывает Flash Professional в Animate CC. Дополнительно сообщают, что клиенты хотят получать больше поддерживаемых платформ и т.д.
Читать дальше →

Добавляем рекламу AdMob в Android приложение на платформе Adobe Air

Время на прочтение4 мин
Количество просмотров15K
После того, как я разработал свое первое, простейшее приложение для Android на Adobe Air, мне захотелось добавить в него рекламу, хотя бы для того, чтобы в будущем знать, как это делается. Я потратил на это довольно много времени, не найдя ничего об этом в интернете на русском языке. Поэтому решил написать краткое руководство к действию, для тех, кому это еще понадобится. Добавлять будем рекламу из Google AdMob.
Читать дальше →

Envato прощается с Flash и ActiveDen

Время на прочтение2 мин
Количество просмотров10K

21 сентября один из крупнейших игроков продаж цифрового контента Envato сообщили о закрытии своего проекта ActiveDen, специализация которого MacromediaAdobe Flash и всё, что с этим связано.
Читать дальше →

Настройка сборки Flex 4.14 проекта с использованием flexmojos 7.*

Время на прочтение3 мин
Количество просмотров3.8K
Исходные данные:
  • Flex проект 100k+ строк
  • 6 модулей swc, собираются в один swf
  • FlexSDK 4.9.* + flexmojos 4.2-beta

Было принято решение, что проект пора обновить и перейти на последний (на момент написания статьи) FlexSDK 4.14.
Читать дальше →

Приручаем JavaScript или очередной велосипед для frontend-приложений

Время на прочтение3 мин
Количество просмотров9.4K
На «Хабре» всё чаще и чаще появляются статьи про разработку фронтенда на JavaScript. Рассматриваются тяжёлые библиотеки от Google и Facebook, не прекращаются холивары на тему какой фреймворк лучше использовать. Но не задумывались ли вы, что все эти фреймворки невозможны или абсолютно нелепы на других языках программирования? По моему субъективному мнению, это всё от того, что во главе угла DOM модель — HTML-тег, а не компонент. Но вернёмся к JavaScript.
Читать дальше →

Разработка Air Native Extensions (ANE) для OS X

Время на прочтение13 мин
Количество просмотров6.7K
Привет всем хаброюзерам. Хотел бы поделиться опытом создания нативных расширений для OS X.

AIR — просто потрясающая в своей кроссплатформенности среда. Пока дело не доходит до использования каких-то уникальных для платформы фишек. Именно с этой проблемой я столкнулся, когда передо мной была поставлена задача превратить браузерную flash-игру в десктопную для OS X. Всё это с использованием среды AIR мной было сделано за несколько часов и я не буду описывать этот процесс, так как в гугле на эту тему полно информации. Самое интересное началось тогда, когда появилась необходимость подключить к игре различные сервисы Apple, такие как GameCenter, In-App-Purchase и т.д. И здесь я столкнулся с трудностями. Дело в том, что есть куча готовых ANE, в том числе и бесплатных. Но вся беда в том, что все эти решения работают только для iOS. Для OS X же нет ни то, что готовых библиотек, но даже информацию по созданию этих библиотек приходилось собирать по крупицам с пары-тройки интернет ресурсов многолетней давности, постоянно натыкаясь на какие-то подводные камни или даже айсберги.

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

Чтение GATT-характеристик Bluetooth устройства

Время на прочтение6 мин
Количество просмотров21K
Привет, хабраюзеры!

Работая над своей ANE библиотекой для работы с Bluetooth LE в AIR приложении для iOS+OSX, обнаружил что помимо ваших собственных сервисов и характеристик для обмена информацией, у bluetooth-устройств есть стандартные. Статья о том, как считывать информацию с этих характеристик. Скажу сразу я не большой знаток bluetooth и всего что с ним связано, и для меня все это в новинку :) Поехали…
Читать дальше →

Стриминг интерактивного контента. Без Плагинов

Время на прочтение3 мин
Количество просмотров5.4K
Позвольте представиться — меня зовут Валерий, я начинал работать как 3D-artist, а затем — немножко руководитель проектов в одной известной отечественной компании по разработке образовательного ПО для школ.

В качестве основной платформы разработки очень давно был выбран Adobe (тогда еще Macromedia) Flash за то, что был достаточно простым и позволявшим с помощью ActionScript решать все наши задачи. И хорошо работал на почти всех существовавших тогда платформах (ведь их было не так много — целились только на десктопы, а там всегда были отличные браузеры с возможностью поставить плагин).
Читать дальше →

Передаем больше 40 килобайт по LocalConnection

Время на прочтение4 мин
Количество просмотров3.5K
С ростом Flash проекта состоящего из раздельных .swf, соединенных между собой через LocalConnection, может возрасти потребность в размерах передаваемых данных. К примеру, это может быть обмен данными присланных сообщений между игрой и отдельным приложением сообщений.

Проблемы начинаются когда передаваемых данных становится больше 40 Кб, появляется ошибка и приложение перестает нормально работать.

Напомню, что объем данных, которые можно передать как параметры методом send, ограничен 40 килобайтами.

Есть несколько выходов из такой ситуации:
  1. Использовать Local Shared Objects;
  2. Передавать данные с помощью JavaScript;
  3. Передавать данные по LocalConnection разбив на части.


Первые два пункта требуют больших изменений чем последний. Поэтому с минимальными затратами реализуем передачу данных по частям которые будут меньше 40 Кб.
Читать дальше →

Календарь дней рождений и юбилеев контактов Outlook

Время на прочтение6 мин
Количество просмотров22K
После перехода с Google (Gmail, Контакты, Календарь) на MS Exchange и Outlook мне больше всего не хватало календаря «Дни рождения и мероприятия контактов», в котором автоматически создавались одноименные события из адресной книги. Стандартная функция Outlook создания записи о дне рождения при редактировании контакта меня не устроила, т.к. все новые контакты с датами рождений и юбилеями, как правило, создаются в мобильном телефоне аккаунта, подключенного к Exchange по протоколу ActiveSync. А при таком способе ввода данных никакие записи в календаре не создаются.

Поэтому был написан VBA скрипт (т.к. ни одно бесплатное решение, найденное в интернете, мне не подошло по функционалу), который делает следующее:
— пересохраняет даты рождений и юбилеи всех контактов адресной книги (таким образом, нативной функцией Outlook в основом календаре создаются записи о днях рождениях и юбилеях контактов);
— перемещает все записи о таких событиях из стандартного календаря в указанный пользователем (чтобы не засорять и без того перегруженный записями основной календарь);
— исправляет записи контактов «Хранить как» (как известно, iOS и Android некорректно работают с этим полем в аккаунтах Microsoft Exchange) следующим образом: если поле «Имя» или «Фамилия» содержат какие-то значения, то «Хранить как» примет значение «Имя Фамилия», в противном случае — «Организация» (это особенно полезно, если сохраняешь названия служб и всякого рода контор в поле «Организация», а не «Имя», как, например, «Доставка Пиццы»).

Для того, чтобы заработал такой алгоритм, никакой дополнительный софт не нужно устанавливать.
Нужно выполнить всего-лишь 2 действия: разрешить выполнение неподписанных макросов и скопировать сам скрипт через буфер обмена (CTRL-C, CTRL-V) в Outlook.
Читать дальше →

Разрабатываем игру на AS3 (Часть 2: мини-игра «Duck Hunt»)

Время на прочтение5 мин
Количество просмотров7.8K

рисунок 4
Duck Hunt

Цель: разработка компьютерной игры
Целевая аудитория: начинающие, интересующиеся, зеваки
Инструменты: ActionScript 3.0


Содержание цикла





Введение


В предыдущих выпусках...
  • Возможно, слегка размытое введение;
  • Определён некоторый набор замечаний;
  • Созданы и описаны требуемые инструменты;
  • Поставлена задача для настоящей части.


Вдохновением для мини-игры стала старая тёплая "Duck Hunt". Однако повторение чего бы то ни было практически лишает этот процесс творчества, превращая его в скучную рутину. Да и копии такой игры, скорее всего, уже есть (осторожно, можно получить эстетический шок от полёта уток). Необходимо помнить, что создаётся небольшая игра, поэтому не стоит перегружать её лишними особенностями (и так есть довольно забавные вариации).
Будем делать некоторую сборную пародию на старенькие компьютерные игры, тем самым обосновав любое замеченное использование предметов чужого авторского права, на которые делается пародия.
Хотите знать больше?

Ближайшие события

Вмятина в пространстве при помощи DisplacementMapFilter

Время на прочтение5 мин
Количество просмотров4.3K
В свободное от основной работы время ваяю в области игроделания.
Последняя поделка посвящена классическому tower defence на космическую тематику:
  • дано межпланетное пространство
  • траектории астероидов определяются гравитационными полями планет
  • «пушечки» ракетами уничтожают астероиды

Поскольку игра делается в изометрии, захотелось изобразить сцену примерно так


взято отсюда

Встал вопрос — как?

  • использование всяких фотошопов — абсолютно неприемлемо, по-понятным причинам
  • прикручивать 3d движок ради рисования сетки — не очень-то и хотелось

Спасибо, добрый человек в профильной конференции подсказал путь поисков — DisplacementMapFilter.
Открыл документацию, скопировал пару примеров, попробовал написать свой фильтр — с ходу не получилось.
Не буду описывать свои поиски решения — сразу представлю результат (на google code) и сделаю несколько важных, на мой взгляд, пояснений.

Код рабочих классов DisplacementMapFilterGravity и DisplacementMapFilterGravityParams выкладываю как есть — т.е. на момент написания статьи, они такие-же, как и в проекте. Класс Main — для демонстрации.
Подробности

Разрабатываем игру на AS3 (Часть 1: введение, утилиты)

Время на прочтение12 мин
Количество просмотров8.1K
Цель: разработка компьютерной игры
Целевая аудитория: начинающие, интересующиеся, зеваки
Инструменты: ActionScript 3.0**


Замечание 0:
Постараюсь достичь относительной автономности для каждой части, что позволит читать их факультативно и не по порядку.


Замечание 1:
Текст статьи может содержать личное мнение автора по определённым вопросам. Вся ответственность за разжигание жарких бессмысленных споров возлагается на читателя (18+).
Содержание цикла





Введение



Замечание 2:
В процессе чтения вы не раз встретите слово «инструмент» по отношению к некоторым вещам. Это сделано специально. Считаю, что разработчик для решения определённых задач способен выбирать наиболее подходящий для этого инструмент и использовать его с умом.


Замечание 3:
В процессе чтения вы также не раз встретите слово «процесс». Оно будет употребляться как в широком смысле этого слова, так и в суженном техническом понимании. Без процесса нет творчества. Без процесса нет разработки.

Возможно, вы обратили внимание, что я пишу «разработка компьютерной игры», явно не указывая, какой именно. Это не просто так. С одной стороны, можно сказать: «не важно, что ты пишешь, главное как»*. С другой стороны, как вы, наверное, опять же, заметили, статья подразумевает несколько частей, потому что это, кроме всего прочего, целая история. Так что пускай конечный продукт будет некоторой интригой всего цикла статей. На самом деле, то, что я излагаю материал через историю, подчёркивает, что без процесса нет разработки.
Для разработчика компьютерная игра** — это не просто некоторая программа, но и некоторый процесс. Во время этого процесса (творческого, или творческого местами, или не творческого местами) происходит масса событий, влияющих на конечный продукт, иные продукты и непосредственно сам процесс, на разработчика и окружающих людей.

Если не брать в расчёт модель «выжать максимум прибыли», то для начала важен некоторый начальный импульс — идея, которая увлечёт вас в той или иной степени. Вы рисуете, оживляете процесс (в воображении, на бумаге, в графическом редакторе)… и т.д.
Вся история началась, когда я в очередной раз, между делом, посмотрел на логотип одной известной iкомпании…
Хотите знать больше?

Тестирование Adobe AIR приложений в системе HockeyApp

Время на прочтение5 мин
Количество просмотров5.5K
Приветствую, друзья!

О чем статья


В этой статье будет дано поверхностное описание системы тестирования мобильных приложений HockeyApp. Я расскажу как пройти путь от написания кода в ActionScript, до получения логов в системе HockeyApp. И познакомлю с ANE библиотекой FPHockeyApp. Если вы знакомы с системами тестирования приложений, можете сразу перейти к примерам использования библиотеки FPHockeyApp.

Суть проблемы


Если вы разрабатываете мобильное приложение в одиночку, то вы наверняка ощущали дискомфорт от необходимости постоянно подключать разные устройства к компьютеру, чтобы закачать новую версию разрабатываемого приложения, для дальнейшего тестирования. Если же вы работаете в большой команде, то процесс раздачи тестовых сборок тестеровщикам, при ручном подходе превращается в ад… Системы автоматизированного тестирования приложений, вроде HockeyApp, предназначены для решения этой проблемы. Как оно работает, читайте дальше.

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

Поиск пути через NavMesh на ActionScript – CrossBridge-порт Recast Navigation

Время на прочтение6 мин
Количество просмотров9.2K


В этой статье я расскажу об опыте переноса C++ кода на ActionScript с помощью FlasCC компилятора и покажу, как с его помощью мне удалось портировать довольно большой объем полезного кода, решающего задачу поиска пути. В конце будет демо и ссылка на репозиторий с кодом. А пока пара слов о том, с чего вообще все началось.
Читать дальше →

Автоматизация создания GUI (Photoshop + Starling)

Время на прочтение6 мин
Количество просмотров12K
Стала задача автоматизировать сборку GUI для одного проекта X.

1 Текущая реализация


Художник делает все свои дела в photoshop и отдает их программистам. Программисты, в свою очередь, сами как-то вытягивают текстуры или атласы и с помощью утилы позиционируют каждый отдельный элемент на stage флешки, далее ручкам добавляют все текстовые поля, эффекты, прописывают всем этим элементам координаты, которые получили благодаря утилите. В итоге получается очень долгая и мучительная работа, а если учесть, что это делает еще и программист — это АД.
Читать дальше →

Библиотеки, которые еще могут пригодиться

Время на прочтение4 мин
Количество просмотров8.2K
Некоторе время назад я задумался о том, чтобы выложить часть своих библиотек в общий доступ. И вот наконец дошли руки все подравнять и выложить на GitHub:

  • RObject — интроспеция с помощью describeTypeJSON
  • JsonMapper — типизированный JSON парсер
  • As3Query — DSL и ORM для Sqlite
  • FlexXB Mobile — оптимизированный xml-парсер FlexXB
  • air-hid-usb — расширение для работы с HID устройствами

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

Particles System в моделировании толпы (3)

Время на прочтение4 мин
Количество просмотров9.1K
Продолжаем разговор от 10.04.2014 (Particles System в моделировании толпы(2)).

В этой части:
  1. добавлю гибель стрелок (ведь взрывы убивают)
  2. поиграюсь с настройками эмиттеров — хочется эпичности


добавлю гибель стрелок (ведь взрывы убивают)

Для того, чтоб «убить стрелку», есть много разных способов. Я же выберу самый распространенный — уменьшить некое «количество здоровья» до нуля или меньше. Но для того, чтобы что-нибудь уменьшить, надо этим самым сначала снабдить — здоровьем (HealthInitializer).
Подробности