воскресенье, декабря 30, 2012

понедельник, декабря 17, 2012

среда, ноября 21, 2012

воскресенье, ноября 18, 2012

пятница, октября 05, 2012

четверг, октября 04, 2012

real7a: iraffiruse: Frozach Submitted Seen before but still...

http://25.media.tumblr.com/tumblr_m9i5vhiHyz1qb5gkjo1_500.png







































real7a:



iraffiruse:



Frozach Submitted



Seen before but still interesting #infographic







via Tumblr http://racer242.tumblr.com/post/32861477746

понедельник, января 09, 2012

Переезд на Tumblr

Переезжаю на Tumblr из Blogger-а: http://racer242.blogspot.com/.


Вроде бы нет причин для переезда. Да и блог мой стал совсем неактуальным. Уже год я в него толком ничего и не писал. Висит несколько черновиков, которые и публиковать то не хочется. Причина банальна. В моей практике flash-разработчика кончилось время исследований и достижений. Сегодня моя работа базируется на отработанных годами механизмах, о которых уже давно всё сказано.
Однако, ряд событий и последние известия относительно развития самой Flash Platform, навели меня на определенные мысли. Видимо, пора обновлять свой арсенал и поднимать якоря в поисках новых и более привлекательных гаваней. Меня сильно привлекла активность моего “кормильца” Adobe в направлении переноса своих технологий и опыта на HTML5. Я верю в успех этого дела и, пока не поздно, подключаюсь. И расширяю область своих интересов от “Flash-разработки” до “Front-end-разработки”, что включает в себя и Flash, и HTML5, и всё что им сопутствует.

Переход на новый блоговый движок обусловлен не только новой направленностью моих изысканий. Пользуя tumblr как веб-, так и iPhone-приложение, я испытываю гораздо больший комфорт чем от Blogger-а. Да и эта гугловая “замкнутость на себе” немного раздражает.

Всё. Прощаюсь с милым старым Блоггером без особых сожалений. Увидимся на Тумблере http://racer242.tumblr.com/.

вторник, июля 19, 2011

Zinc screensaver free

Скачал последний Zinc, поставил, подтянул проект. Работает, и никаких упоминаний о пробной версии. Раньше выводил поверх контента сообщение о пробной версии и все было очевидно. А чего от него сейчас ожидать? Или это неожиданная халява?

* * *

Кстати, столкнулся с проблемой вывода на экран screensaver-а при расширении рабочего стола на несколько мониторов. Приложение растягивается на область всех мониторов, что для вывода вменяемого контента недопустимо. Полдня бился над тем, как вывести контент только на один монитор и желательно главный.
Решение простое:
1. Берем размер экрана: mdm.System.screenWidth и mdm.System.screenHeight
2. Берем координаты главной формы: mdm.Forms.getFormByName("MainForm").x и mdm.Forms.getFormByName("MainForm").y
3. Устанавливаем размер приложения по размеру экрана: mx.core.Application.application.width и mx.core.Application.application.height.
4. Если координаты формы отрицательные, то устанавливаем: mx.core.Application.application.x=-mdm.Forms.getFormByName("MainForm").x и mx.core.Application.application.y=-mdm.Forms.getFormByName("MainForm").y

* * *

Странно, что на привью-флэшке, которая была сделана для отображения в настройках, водяной знак выводится.

суббота, января 22, 2011

Забавный глюк автокомплита

Flash Builder Burrito. Работаю с двумерным массивом.
Автокомплит перестает работать после строки:
this.matrix[objectPosition.y, objectPosition.x]=1;

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

Исправляю и всё работает:
this.matrix[objectPosition.y][objectPosition.x]=1;

среда, января 12, 2011

Flash Builder Burrito

Начало года - мертвый сезон - время апгрейдов и апдейтов.
Windows 7 и весь свежий софт уже стоят, пора обновить рабочие инструменты.
Первый главный инструмент Flash Professional CS5 стоит, и вполне себе устраивает. После CS3, прогресс явно ощутим.
А вот Flash Builder, несмотря на достаточное количество нововведений, не сильно удивил. Инструментарий для кодера остался на том же уровне. Потуги создать видимость деятельности за счет нового представления веток классов в Package Explorer, честно говоря, не впечатлили.
Однако, судя по многочисленным анонсам, светлое будущее уже настает, и это - Adobe Flash Builder "Burrito". Большинство анонсов этого продукта датируется октябрем прошлого года, а значит, за три месяца мексиканская шаурма уже достаточно подрумянилась, чтобы ее попробовать.

Пока нет разделения версий самостоятельного продукта и плагина для Eclipse. Есть просто ссылка для скачивания. Однако, в Release Notes, описание установки плагина Eclipse есть. Проверим позже.
Итак, качаем и ставим.

И вот у нас появилась в коллекции продуктов от Adobe папочка "Adobe Flash Builder Burrito". Действительно, release notes не обманули. Есть каталог "utilities", в котором лежит инсталлятор плагина Eclipse. Это уже хорошо.
Забавно, в меню "Пуск>Все программы" ярлык упал прямо в корень. Запуск. Нас сразу крупно оповестили, что: либо вводи серийник, либо 60 дней знакомься. Что ж, будем надеяться что за это время выпустят новую версию и продлят нам срок.

Ой. при установке я выбрал русский язык и, видимо, зря это сделал. Половина пунктов меню на русском, остальное на родном. При осмотре интерфейса и создании проекта в голову лезли противоречивые мысли - хорошо оно или плохо, этот частично русский. В итоге пришел к однозначному мнению - для диалогов и тулбаров русский совсем не годится, ибо, многословен и многобуквен. Хотя, как не странно, казусов не обнаружил. Переведено всё грамотно. Конечно, фраза "Проводник пакетов", возможно, кого-нибудь и может смутить, но только не нашего брата flех-разработчика. В итоге, пришел к мнению переустановить английскую версию.

Кстати, как только я создал проект для Flax SDK 3.5 (ибо планирую еще как минимум год делать приложения под FP9.0), он уже содержал ошибку - не найдена локаль ru_RU. Достаточно в настройках компилятора заменить в строке дополнительных параметров -locale ru_RU на locale en_US.

А теперь - попробуем установить плагин Eclipse. Eclipse у меня последний на сегодня, 32-х битный, 3.6.1 Helios. Там же установлен Flex Builder 3 Plugin. Посмотрим заодно, как они подружатся.
Итак, находим инсталлятор плагина: C:\Program Files (x86)\Adobe\Adobe Flash Builder Burrito\utilities\FB_Burrito_Plugin_Utility.exe. Наученные опытом, выбираем английский язык.
Выбираем папку с Eclipse. По завершении процесса установки, следуем рекомендациям и делаем модификации в eclipse.ini:
-Xms256m
-Xmx512m
-XX:MaxPermSize=256m
-XX:PermSize=64m

Теперь смотрим. При запуске Eclipse получаем экран ошибок. Это наш Flex 3 дал о себе знать. Да, это была плохая идея. Увы, надо удалить Flex 3 и заново всё установить. В общем, совсем прощаемся с Flex3...

Итак, JRE переустановлено, Eclipse распакован, повторяю установку. Кстати, Eclipse по умолчанию руссифицирован. Кому такой расклад не привычен - меняем интерфейс на английский - добавляем в eclipse.ini:
-Duser.language=en
-Duser.country=US
(Спасибо 33 коровам! И, кстати это спасает проект от ошибки неверной локали).

Итак, у нас функционирует пробная 60-дневная версия Flash Builder Burrito. Работает пока нормально, сейчас ее поднастрою и попробую в деле.

* * *

Поработал на Burrito (Flex SDK 3.5). Нововведения пока не оказали значительного влияния на рабочий процесс. Столкнулся с несколькими глюками:
  1. Старая болезнь билдера, когда при запуске дебага, процесс повисает на ожидании подключения к дебаггеру. Побеждается просто - поставить "Запуск от имени администратора" на эклипс, и, на всякий пожарный, на дебаговый FP.
  2. Путаница при переименовывании классов. Сильно мешает при клонировании классов, когда копипастишь класс, потом его переименовываешь. Я так и не понял откуда растет баг, но раньше такого небыло.
Зато работа с темплейтами автокомплита кода порадовала. При работе в редакторе, нажимаем CTRL+SPACE+SPACE, и получаем варианты для быстрой вставки.

* * *

Серьезный баг, здорово мешает работе.
Если пользоваться автокомплитом (content assist) во flex-коде, довольно часто окно с выбором вариантов подвисает, затем подвисает и вся оболочка. Что бы вернуться к работе нужно закрыть Eclipse и снова запустить.

воскресенье, ноября 07, 2010

Надоел логгер FD

Надоело постоянно висящее окно FlashDevelop, который я пользую только для просмотра лога Flash Player.
Хочется просто обычный логгер - легкий и под всегда рукой.
Смотрим, что есть по этой теме в гугле.

Первое, на что я западаю - ThunderBolt AS3. AIR-приложение, которое заточено как раз под нашу задачу. Качаем, ставим, смотрим.
Продвинутый интерфейс, лог фильтруется по разным категориям.
Местоположение лог-файла предлагается указать драг-дропом самого файла flashlog.txt прямо в приложение.
Всё вроде бы замечательно. Но. Как только я запустил Громовой Шуруп, логгер FlashDewelop работать отказался. По-видимому, он держит файл лога занятым, не давая другим его открывать. Да и сам болтяра показывает лог как-то не стабильно, вызывая к себе недоверие.
В общем - всё не супер.

Дальнейшие поиски приложений - логгеров ни к чему хорошему меня не привели.

Я работаю в основном на Flex Builder под Eclipse. Как хорошо было бы иметь под рукой логгер в виде плагина под эту чудесную платформу!
И, несомненно, таковой тут же нашелся: плагин для Eclipse: LogWatcher as a cross-platform Flash debugger in Eclipse.
Качаем, ставим согласно инструкции, смотрим.
Теперь рядом с закладочкой Console, у меня всегда перед глазами закладочка LogWatcher, где в реальном времени выводится содержимое лога.
Здесь можно подключиться и к другим логам, например, policyfiles.txt, что тоже может пригодиться.

В общем, получили окошко, аналогичное FD Logs, но под Eclipse, что очень радует.

Но поиски хорошего специализированного логгера еще не окончены.

вторник, марта 23, 2010

Как получить заголовки ответа сервера

Сегодня столкнулся с проблемкой. Приложение посылает запрос на сервер, и сервер отвечает только заголовками (header), в моем случае - Location http://.....
Как мне получить данные, содержащиеся в заголовке? Функции AS3 такой возможности не предоставляют. То есть - при обычной загрузке, с использованием URLLoader/HTTPService мы получаем содержимое ресурса, указанного в Location.

Однако, после непродолжительных поисков, я наткнулся на статью HTTP Authentication for HTTP/GET requests using ActionScript 3, в которой автор представляет свою библиотечку HTTPURLLoader, которая при помощи сокетов осуществляет загрузку и заголовков и данных ответа сервера.
Спасибо ему за это и низкий поклон.

вторник, марта 16, 2010

Растровый редактор

Сегодня мне понадобился редактор растрового изображения.
Поиск готовых решений не дал большого изобилия результатов. Да и не надо. Всего одна библиотека, которая попалась в наши сети превосходно решает нашу задачу:
  • The Graffiti AS3 Bitmap Drawing Library - отличный движок с открытым исходным кодом и примерами. Есть две версии - более старая 1.1 (для FP9+) и новая 2.5 (для FP10+). На странице проекта есть таблица сравнения возможностей версий.
    Я выбираю версию 1.1, поскольку мой проект для FP9. Кстати, примеры на сайте представлены для более свежей версии, но принцип использования аналогичный, поэтому первый пример легко интуитивно подстроить под свои нужды.
Параллельно напал на интересные ресурсы:
  • µSprite AS3 Vector Editor - графический AIR-редактор с богатыми функциями, способный преобразовать нарисованное в код AS3/Haxe.
  • Pixlr photo editor - онлайновый графический редактор.
  • BitmapDataUnlimited - растр без ограничения геометрического размера.

воскресенье, марта 14, 2010

Графические трансформеры

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

Посмотрим, чем сегодня пользуются наши братья для трансформирования визуальных объектов.
  • Первым попадается нам вот такой пример: AS3 Transform Tool for scaling, rotating components containing text controls in Flex. Всё весьма красиво, но без исходников. Зато, идет прямая наводка на прародителя этой демки, о котором и поговорим позже.
  • Замечательная старая демка, от Senocular. Есть и исходный код. Удивительно, что такая старинная разработка дает начало целому семейству трансформеров.
    Скачиваем, запускаем. Пример под CS3 AS3 FP9. Всё работает прекрасно, поигрался с настройками трансформера - превосходно.
    Есть возможность таскать, масштабировать, наклонять, поворачивать, менять положение центра трансформаций. Всё удобно и отлажено.
    Однако, просматривая отзывы к постам относительно этого движка, многие пишут что недовольны тем, что он не подходит для использования во Flex-приложении.
  • И вот, Senocular TransformTool модифицируют под Flex2: senocular.com TransformTool modification. Так же прикладываются исходники.
    В отличии от предыдущего примера, здесь трансформируются не Sprite-объекты, а UIComponent-объекты, то есть flex-компоненты.
    Создаем Flex-проект, копируем в него исходники, запускаем. Работает. Картинки модифицируются прекрасно, а вот компоненты, содержащие текст (например обычная кнопка) трансформируются не очень то корректно. Может быть это по причине того, что необходимо внедрить шрифт, а может быть нужно что-то доработать (ведь первый наш пример работает вполне себе нормально).
  • Продолжение работ над совершенствованием движка: Multiple objects using Senocular TransformTool. Так же имеется исходный код. Однако, он уже написан под Flex SDK 4, поэтому я не стал продолжать его изучение.
  • Еще один мощный движок для трансформаций под Flex: Object Handlers. Здесь множество ссылок относительно проекта - и документация ASDoc, и обучающее видео, и проект на Google Code.
    Попробовал скачать 2ю версию движка, поставил и сразу получил множество ошибок. Во-первых, половина примеров просит Degrafa, во вторых лезут еще две ошибки, которые поправить интуитивно не получается.
    Поэтому задвигаю 2ю версию и качаю последний релиз 1й версии. Здесь всё стабильно, всё работает без проблем. За исключением косяка вращения. Почему-то в примере, в разделе Rotating трансформер не имеет вращающей точки. Это легко исправляется добавлением соответствующего параметра, однако, появление активной точки для поворота сильно не обрадовало, а точнее - ее неуместное размещение рядом с правой точкой горизонтального растягивания.
    Зато всё остальное в этом проекте обещает очень многое, особенно - работа с Degrafa.
  • Еще одна интересная разработка: Distort Image Transform Tool. Здесь изображение можно произвольно трансформировать таская его за углы. Кстати, еще и под Flash 8.
  • Упомяну так же и коммерческую версию трансформера: TransformManager. Выглядит вполне себе замечательно, не сильно лучше предыдущих претендентов, но, зато более причесано. И, что впечатляет - есть возможность объединять для трансформации сразу несколько объектов.
Итак, для своей задачи, я уже выбрал себе движок от Senocular, поскольку мне нет необходимости трансформировать flex-компоненты - я буду работать исключительно с графикой. Поэтому, область графических трансформаций лучше убрать в чистый AS3-модуль и уже его вставлять во Flex в виде компонента, получающего извне данные и команды, и отдающего результирующий графический образ в виде BitmapData или контейнера с набором данных о графических объектах и их трансформациях.

четверг, марта 11, 2010

Выбираем листалку страниц для Flex-проекта

С тех пор, как впервые мы увидели этот культовый гаджет PageFlip, созданный еще для 6й версии (а может и еще ранней) FP, немало воды утекло. Кстати, здесь есть ссылка на исходник на одну из старых версий.

Сейчас открылось множество сервисов для онлайн-публикации книг и журналов, в которых книги листаются именно по принципу PageFlip. Тема действительно популярная и по ней существует приличное количество наработок. Причем, в подавляющем большинстве, это некие готовые flash-движки, при помощи которых можно создавать книги вообще без участия flash-разработчика - одним лишь конфигурированием.
Нас интересуют наработки с открытым исходным кодом и желательно для Flex.

Итак, начинаем поиски.
  • Многие ссылки ведут сюда: http://www.quietlyscheming.com/blog/components/flexbook/.
    Движок FlexBook явно не нов - март 2007, хотя последний коммент в блоге датируется 2009м годом.
    Демка показывает возможности движка, а в контекстном меню flash есть ссылка на архив с исходным кодом.
    Исходный код поставляется в виде Flex-проекта, однако при импорте, FlexBuilder предупреждает о том, что версия SDK в проекте указана старая, а так же о том, что есть устаревшие свойства flex-компонентов. Кроме того, в настройках есть ссылка на не существующую библиотеку, но это лечится путем удаления некорректной строки из свойств проекта.
    Код компилируется и работает превосходно.
  • Следующий претендент: http://www.rubenswieringa.com/blog/flex-book-component-beta.
    Называется так же - FlexBook. И так же не свеж - июль 2007, зато комменты датируются мартом 2010, то есть актуальность на лицо.
    Демка так же вполне адекватная и в контекстном меню тоже есть ссылка на исходный код.
    Создаем новый Flex-проект, копируем туда код, указываем что компилить и запускаем. Никаких проблем, получаем работающую книгу. Выглядит привлекательнее предыдущего решения.
  • Коммерческая разработка: FlashPageFlip. Есть бесплатная версия - Free FlashPageFlip. Скачиваем бесплатную версию.
    Бесплатная версия не предоставляет исходников. Зато здесь есть всё, чтобы сделать книгу из заготовок. Рассчитан на 8ю версию FP.
  • Расширение Flash CS - PageTurn3D CS: здесь. Не стал ставить, хотя демка выглядит симпатично.
  • OpenSource движок MegaZine3: http://megazine.mightypirates.de/. Судя по описаниям, и демке, достаточно мощный движок. Есть доступ к SVN, есть довольно обширный API.
    Общее впечатление от демки (которую можно только скачать как Zip) безусловно очень положительное. Сам по себе скачиваемый продукт не является библиотекой. Это готовое решение, глубоко конфигурируемое, способное отображать разнообразный контент пользователя.
    Предлагается скачать SWC, но ссылка некорректная. Исходники можно скачать с SVN. Имеется форум с достаточно оживленными обсуждениями.
    В общем, при желании, можно разобраться с этой системой, хотя она, как большинство openSource-проектов, выглядит как темный лес. К тому же не предоставляется примеров использования API. Но это уже тема для отдельной статьи.
Наткнулся на пост, в котором есть небольшой обзор листалок. Ничего особенного, зато дает общее представление о коммерческих продуктах.

Итак, моя задача состоит в интеграции листалки во Flex-проект. Соответственно есть два пути:
  1. Непосредственно использовать библиотеку классов
  2. Интегрировать готовое решение путем внедрения главного SWF-файла во Flex-приложение и каким-то косвенным путем управлять контентом страниц.
Я рассматриваю первый вариант и выбираю движок FlexBook от Ruben Swieringa. Всё. Буду докладывать с места событий.