среда, июля 27, 2011

Если у вас не запускается проект в debug mode...

Посмотрите в mm.cfg - возможно FireBug вставил туда две строки:
SuppressDebuggerExceptionDialogs=1
PreloadSWF=...
После их удаления все должно заработать.

Resource "...SomeClass.as" does not exist

Если Flash Builder пишет, что Resource does not exist, хотя вы уверены, что он exist, то перезапустите Flash Builder.

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

Скорость скроллинга Spark Scroller

Чтобы изменить скорость скроллинга, необходимо подписаться на событие Scroller FlexMouseEvent.MOUSE_WHEEL_CHANGING и изменить event.delta в обработчике:

scroller.addEventListener(FlexMouseEvent.MOUSE_WHEEL_CHANGING,
mouseWheelChangingHandler);
...
private function mouseWheelChangingHandler(event:FlexMouseEvent):void {
event.delta *= 2;
}

среда, мая 04, 2011

Блог Adobe про выходы версий Flash Player

Случайно нашел блог Adobe, в котором они стали постить про каждую версию плеера начиная с февраля 2011 года - http://blogs.adobe.com/flashruntimereleases/

среда, апреля 13, 2011

Разработчик сервиса Яндекс.Панорамы (ActionScript3, Flex)

На Яндекс.Картах есть сервис Панорамы, который помогает людям путешествовать по миру и смотреть разные, знакомые и незнакомые, города, не выходя из дома.

В команду сервиса нужен хороший flash/flex-разработчик. Вам предстоит развивать продукт, которым с удовольствием пользуются миллионы людей. Развивать - значит принимать участие в обсуждениях новинок, работать над улучшением архитектуры, решать сложные задачи, использовать самые новые возможности платформы.

Нам нужен человек, который отлично знает ActionScript 3, Flex и AIR, использовал в работе SVN или другие VCS, интересуется различными подходами к разработке, новыми возможностями в Flash Platform, и не боится изучать новое (возможно, кардинально новое).

Если вы при этом еще и разбираетесь в различных 3D-движках, знаете не понаслышке о JavaScript, HTML, CSS и SQL - это просто прекрасно. И не менее прекрасно, если у вас есть опыт использования различных архитектурных фреймворков, VCS, IDE, знакомство с разными OC.

Коротко об условиях:
  • Зарплата от 90 до 120 тыс. рублей (белая, до вычета налогов, изменяется по результатам работы), премии за важные запуски.
  • Медстраховка от одной из ведущих страховых компаний.
  • Свободный график (ну почти).
  • Оплачиваемый отпуск - 28 дней.
  • Десктоп или ноутбук (в том числе Mac) на выбор.
  • Программа мобилизации: компания выдает вам смартфон или планшет по вашему выбору (iPhone4 или iPad в том числе) и оплачивает безлимитный интернет.
  • Офис в центре Москвы - недалеко от станции метро Парк Культуры.
  • Большая техническая библиотека и возможность покупать книжки за счет компании.
  • Много умных, интересных людей в шаговой доступности.
  • Минимум бюрократии и прочей псевдокорпоративной ерунды.
Если, прочитав все это, вы поняли, что это ваше - пишите нам: http://company.yandex.ru/job/vacancies/interface_developer.xml

пятница, ноября 12, 2010

Баг при ресайзе флеш-приложений в хроме под маком

Обнаружился неприятный баг - если вставлять на страничку резиновый флеш, то под макосью в хроме он будет очень некрасиво ресайзиться. Непонятно, кто виноват, хром или флеш, но на Адоби баг повесили - https://bugs.adobe.com/jira/browse/FP-5772. Можно голосовать.

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

Flash Builder Burrito

Баян уже конечно, но все же скажу, что скачал себе бурито на днях и почитал про coding enhancements, как то:
  • Code templates
  • Metadata code completion
  • Override implement methods
  • Quick Assists such as Rename in file/workspace, Organize imports, Convert to field, Assign to variable, Split variable declaration
  • Generate from usage to generate a local variable, field, method, class, interface, and event handler from their usage
Попробовал - все работает. Честно говоря, порадовало. Хоть и отстали они конечно на несколько лет с этими фичами, но лучше уж поздно, чем никогда.

среда, июля 14, 2010

Internal Flash Builder Error

Если у вас "Internal Flash Builder Error" и ничего больше, а в логе
java.lang.NullPointerException at macromedia.abc.Optimizer.optimize(Optimizer.java:84)...,
то посмотрите, не используете ли вы -link-report в параметрах компилятора.

среда, апреля 21, 2010

ZaaIL - поддержка более 40 форматов изображений во флеше

Zaalabs портировали библиотеку DevIL с помощью алхимии. На данный момент поддерживается более 40 типов изображений. В будущем планируют добавить еще 20 форматов. Попробовать можно по ссылке.

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

Flex 4 rap



Гордон занимается текстом :-)

четверг, января 28, 2010

Баг при переименовании класса во Flex Builder

Заметил интересный баг: если переименовать класс в одном проекте, то старательный Flex Builder переименует одноименные классы в других проектах. Точнее названия файлов он оставит старые, а внутри все перелопатит.

вторник, января 12, 2010

Утечка памяти в IE 8

Столкнулся со следующей проблемой. Есть простое приложение, использующее ExternalInterface.addCallback:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
applicationComplete="appCompleteHandler();">
<mx:Script>
<![CDATA[
private function appCompleteHandler():void {
if (ExternalInterface.available) {
ExternalInterface.addCallback("getWidth", getWidth);
}
}

private function getWidth():Number {
return width;
}
]]>
</mx:Script>
</mx:Application>

Флешка вставлена через swfobject. В IE8 при перезагрузке страницы видно, что память отданная под страничку с флешом не освобождается, что приводит к падению браузера через несколько перезагрузок. Немного поискав, нашел в swfobject 2.2 метод:

swfobject.removeSWF(objElemIdStr)

Removes a SWF from your web page. Is especially built to safely (only remove a SWF after it has been loaded, to avoid broken references) and completely (nullify references to avoid memory leaks) remove a SWF in Internet Explorer.

И помогло :)

понедельник, декабря 14, 2009

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.

Есть флекс-приложение, имеющее внутри себя AS3-компонент, использующий fl.controls кнопки и лейблы. При вызове какого-либо поп-апа флекс-приложение начинало неадекватно реагировать на перемещение фокуса по нажатию Tab:

ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
at flash.display::DisplayObjectContainer/getChildIndex()
at mx.core::Container/getChildIndex()
at mx.containers::Panel/getChildIndex()
at fl.managers::FocusManager/::getChildIndex()
at fl.managers::FocusManager/::sortByDepth()
at fl.managers::FocusManager/::sortByTabIndex()
at Array$/Array::_sort()
at Array/http://adobe.com/AS3/2006/builtin::sort()
at fl.managers::FocusManager/::sortFocusableObjectsTabIndex()
at fl.managers::FocusManager/::sortFocusableObjects()
at fl.managers::FocusManager/::keyDownHandler()


Поискав в сети подобную ошибку, наткнулся на несколько постов, в которых во всем винили флешовые компоненты, что и понятно из ссылок на fl.managers::FocusManager. В итоге пришлось переделывать флеш-компонент, подписываясь на Event.ADDED_TO_STAGE его кнопок и выключая в этом событии focusManager - button.focusManager.deactivate().

суббота, февраля 21, 2009

Adobe организует субботник

28 марта Adobe в Сиэтле организует субботник по правке багов во Flex SDK. Приглашаются все желающие. Можно еще участвовать через Connect, ссылку отправят всем зарегистрированным. Будут присутствовать разработчики из Adobe. В общем достаточно любопытное меропрятие.

четверг, февраля 05, 2009

Использование Flex Charting в локализованном приложении

Как известно, флекс-приложения можно локализовывать для разных языков, прописав в параметрах компиляции в атрибуте locale нужную локаль. Но перед этим нужно создать пакет необходимых библиотек для этой локали с помощью команды copylocale (располагается в папке [flexsdk]\bin ):

copylocale en_US ru_RU

Но данная команда игнорирует бандлы для Flex Charting. Это известный баг. И как следствие, наш проект откажется компилироваться для отличной от en_US локали.

Есть несколько способов все исправить.

Первый способ:

1. Найти datavisualization_rb.swc для английской локали:
Например, для Wiwndows:
C:\Program Files\Adobe\Flex Builder 3\sdks\3.2.0\frameworks\locale\en_US\

2. Скопировать его в папку с нужной локалью

3. Открыть с помощью архиватора

4. Переименовать папку "\locale\en_US" в "\locale\ru_RU" (или в какую нужно)

5. Отредактировать catalog.xml – заменить все строки en_US на нужную локаль

6. Вызвать во Flex Builder Project -> Clean.

Минус этого метода в том, что для каждой новой локали нужно повторять эту операцию.

Второй способ (типа официальный):

1. Получить исходники Flex Charting. Обычно они распаковываются в папку [flexsdk]\fbpro.

2. Зайти в папку [flexsdk]\frameworks\projects\ и создать тут структуру папок datavisualization\bundles\en_US\src

3. Зайти в папку [flexsdk]\fbpro\projects\datavisualization\bundles\en_US и скопировать все файлы .properties в новоиспеченную папку из п.2

Теперь copylocale будет работать правильно всегда.

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

понедельник, января 12, 2009

Будем знакомы - Pivot

Pivot - это открытая платформа для разработки RIA на Java. Она сочетает в себе производительность и юзабилити всех современных RIA-фреймворков и мощь Java-платформы.

Как Flex и Silverlight, Pivot обладает свойствами, благодаря которым создавать GUI приложения достаточно легко: декларативный UI, связывание данных, различные эффекты, интеграцию с веб-сервисами и т.п.

Страница проекта
Демки
Загрузки
Уроки
Более подробный обзор.
Использование JavaScript внутри Pivot

среда, ноября 19, 2008

Оживление Flex Debugger

Непонятно почему перестал работать Debug-режим. Приложение запускалось, но после долгой попытки соединится, выводилось сообщение о том, что это невозможно и советовали проверить действительно ли у меня стоит debug-версия плеера.

Вылечилось это так: после запуска приложения вызываем контекстное меню плеера, выбираем там debugger, пишем в адрес 127.0.0.1, подключаемся и приложение благополучно соединяется с отладчиком. После этой процедуры отладчик стал запускаться без лишних движений по старинке.

Может ли кто-нибудь объяснить такое поведение?

пятница, октября 17, 2008

FlexMonkey - тестирование UI

FlexMonkey - это фреймворк, автоматизирующий тестирование функциональности пользовательского интерфейса Flex-приложений. С его помощью можно записывать и воспроизводить взаимодействия с UI приложения. Также можно генерировать ActionScript-код с тестами. Использует Flex Automation API. Вот небольшой пример.