to post messages and comments.

← All posts tagged Flash

Если вам нужно преобразовать ассоциативный массив чисел в вектор, то можно просто Vector.<int>(a), где a это нечто вроде [3, 6, 13, 634, 34, 1834, 31, 44444].

Портировал MigLayout для флеша. miglayout.com javalobby.org (обратите внимание на параграф "No Panels in Panels")

Для флеша — не имеется ввиду для чистого флеша как готовый полноценный layout manager для Sprite/MovieClip/Shape.

Есть определенный нюанс, связанный с тем, что компонент должен хранить свой preferred size, а при установке ему actual size продолжать помнить о своем preferred size. Ни флеш, ни minimalcomps данную концепцию не поддерживают. Смотрите флешку — dl.dropbox.com и dl.dropbox.com (это пример как на главной странице miglayout.com <miglayout.com>).

Если для shape.swf менять размеры страницы, то черные кубики (это label) сразу же уменьшаться, а красные займут место (потому что для них установлен grow). Потому что min size отдается для них как 0.
То же самое и для minimal comps (только там оно может draw и менять свой width).

github.com

Код флешки — github.com

Таким образом, без дополнительных усилий, всякие умные constraints типа grow для чистого флеша работать не будут (только в первый проход до изменения размеров контейнера). Но реализовать два интерфейса (net.miginfocom.layout.ComponentWrapper и net.miginfocom.layout.ContainerWrapper.as) и один фасад (типа github.com ) для вашего любимого ui-фреймоворка особых проблем не составит.

Сделано это было для Flash UI Designer в Astella/IntelliJ IDEA, который уже скоро будет уметь визуально строить интерфейсфы для флеша. В первую очередь, разумеется, для флекса. А MigLayout это как раз та самая серебряная пуля, которая отправляет в топку весь тот зоопарк посредственных layouts, что существуют, при этом оставаясь понятным (layout constraints задаются строчками, декларативно, смотрите документацию на miglayout.com ).

А вот интересно, если где-либо информация по поводу, как рендерит флеш окна в AIR — один ли там Event.ENTER_FRAME или же раз там несколько stage, то и то процессы рендеринга у них протекают независимо?

Черт. Черт. Черт. Как же хочется иметь во Flash такую же удобную концепция classLoader как в Java. Ладно, ладно, это нужно только очень немногим, кто пишет некий тул для флеш-приложения. Эх, по сути, посредством native ext в AIR можно влезть во Flash VM и заиметь нормальный classLoader с возможностью кастомного алгоритма поиска class def.

Весело. Если загружать в одну SWF другую, содержащую класс с тем же именем, то инстанциирование main symbol будет адресоваться на класс из parent, а не из child.

Правильно ли я понимаю, что flash components (fl.controls) доступны только как часть Flash CS (/Applications/Adobe Flash CS5.5/Common/Configuration/Components) и скачать их отдельно как цельная SWC нельзя?

В чем может быть причина ошибки "definition for the document class could not be found" в этом (idea со своей ненативностью кажется просто верхом удобства по сравнению с этим убожеством) Flash CS5 при задании Document Class в ActionScript Settings при условии наличия таки этого класса в моей swc, указанной в этом же убогом диалоге в lib path?

Кто-либо копал тему, почему в TextBlock указание width в createTextLine является физическим, а не логическим — при заданном lineRotation в TextRotation.ROTATE_90 оно по прежнему будет резать текст по ширине.

Итог juick.com и juick.com

Новая опция компилятора swf-version потребовалась, так как target-version это жертва аборта в случае AIR (airglobal берется из соответствующего SDK, swf version определяется компилятором — target-version никак не используется) — видимо, им было проще ввести новую концепцию, чем доработать/проработать старое.

Да — вы не имеете права загружать swf версии старше, чем host swf. Упадет с ошибкой в runtime типа class not found (версия runtime player значения не имеет, если у вас host swf под 10.1, а загруженная под 10.2, то классы плеера появившиеся в 10.2 будут недоступны).

При этом также не разрешен финт ушами с указанием лишь мажорной версии AIR Runtime в дескрипторе приложения — для 10.2 в дескрипторе должно быть указано как минимум 2.6, иначе просто невразумительная ошибка от adl типа error while loading.

Таким образом, если ваше приложение грузит некие плагины, то вам придется или ограничивать сторонних разработчиков некой версии air runtime, или всегда бежать впереди паровоза (есть еще третий вариант — иметь n версий дескрипторов и n версий приложения — насладись maintainability).

Впрочем, по поведению приложения после изменения этого 1 байта в swf header можно судить, что оно явно как-то иначе инициализирует VM и имеет разное поведение — видимо, этим и можно объяснить такое вот неудобство с версиями (а помните, ведь recreate text line в text block не требовало смены версии, можно по def проверять? эх, были времена) — к примеру, с версией swf = 11 нельзя теперь расшаривать инстанс URLRequest при одновременной загрузке (падает с невразумительной ошибкой типа unresolved type на рандомном файле из списка).

А скажите, тот факт, что на Vimeo Html 5 версия плеера позволяет перескочить на любой момент времени, а flash нет (хоть 10.1, хоть 11), это криворукость разработчиков vimeo?

Странно это — такой удобный сервис (удобен тем, что можно заплатить и освободиться от ограничений youtube), а запилить нормальную версия на флеше не могут (может я по религиозным причинам не хочу пользоваться html 5?).

juick.com Политика версий во флеше убиться веником. Мое приложение скомпилировано под flash 10.1. Загружаемое в runtime требует 10.2 Работает это все в 11. Какого черта оно требует чтобы я собирал host app под 10.2? И эти идиоты еще и исходники своего убогого компилятора не обновляют, дабы можно было синхронизироваться. Черт. Новая политика (пост о введение аннотации API найти не могу) совершенно неудобна.