Рубрика «Action Script» - 2

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

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

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

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

Привет, читатели!

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

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

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

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

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

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

Есть несколько выходов из такой ситуации:

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

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

Структура пакета:

  1. unsigned int — длина данных всего сообщения;
  2. unsigned int — длина данных объекта;
  3. данные сериализованного объекта.

Что бы правильно собрать все данные напишем обертку для клиента LocalConnection:
Читать полностью »

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

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

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

12 мая 2007 года Jochen Diehl опубликовал очень интересную статью «Skeletal Animations».

mocap на коленке (Skeletal Animations 2) - 1

Вкратце изложу суть:
Читать полностью »

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


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


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

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

  • Часть 1: введение, утилиты
  • Будет дополнено по мере доступности...

Введение


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


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

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

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

Статья является адаптированным переводом известного человека в своих кругах.

Actionscript 3 был выпущен в 2006. А уже в 2010 люди начали называть его мертвым (и это спустя 4 года после его появления) и продолжают делать то же самое еще на протяжении 4 лет.

image
Читать полностью »

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

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

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js