PDA

Просмотр полной версии : Flex SDK vs. SWFTools


VVall
16.02.2009, 22:21
Не уверен, для какого раздела подходит этот вопрос.

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

С Flash раньше не сталкивался, имею общее представление. IDE и возможности рисования в редакторе мне не нужны. Нужны бесплатные инструменты для написания программы на AS и создания *.swf. Нашёл SWFTools и Flex SDK.

Для SWFTools нашёл и собрал этот пример (http://penguinpetes.com/b2evo/index.php?title=flash_demo_9_keyboard_control_and_ball_p&more=1&c=1&tb=1&pb=1). Исходник очень маленький, компилируется мгновенно, получается файл меньше 3 килобайт. Окно можно растягивать, при этом изображение масштабируется.

Для Flex нашёл эту серию статей (http://www.brighthub.com/internet/web-development/articles/11010.aspx), достаточно примера из третьей части - встраивание ресурсов, вывод объектов. При похожем результате исходников на 8 килобайт в шести файлах, компилируется 10 секунд (3 гигагерца, гигабайт памяти), даже справка по mxmlc -help выдаётся с паузой в пару секунд. Получается файл больше 200 килобайт с тем же изображением. При растягивании окна изображение не масштабируется.

Вопросы:

Могу ли я реализовать то, что мне требуется, используя SWFTools? Или когда дело дойдёт до чего-то более сложного, чем указанный пример (вывод нескольких изображений и т.п.), начнутся проблемы, и в результате придётся писать ещё больше кода?

С чем связано такое большое количество кода, размер получаемого файла и скорость компиляции во Flex SDK? Он предназначен для других задач, или очень универсален и потому включает всё сразу, или что-то ещё?

silin
16.02.2009, 23:09
Flex SDK (mxmlc) позволяет скомпилить флешку и с минимальным кодом/функционалом, не цепляя весь флексовый комбайн фреймворк, который действительно включает в себя всё сразу и нужен для быстрой разработки сложных приложений

по выбору SWFTools vs Flex_SDK в этой ситуации не берусь что-то советовать
для 'флешевых' людей он очевиден, а для разовых затей возможно, что затраты на погружение в AS3 себя и не оправдают

ps
из бесплатных вариантов есть еще mtasc+swfMill (+FD как редактор и сборщик), собственно достаточно только FD (mtasc и swfMill у него уже на борту)
FD==FlashDevelop

VVall
17.02.2009, 04:32
Мне, в принципе, выбор тоже очевиден - Flex SDK, так как это официальный, распространённый и универсальный инструмент, и его возможностей точно хватит для решения моих задач. Однако, перечисленная разница при первом тесте сбила с толку, особенно время компиляции и (возможно, кажущаяся) сложность реализации простейшей задачи.

Видимо, буду разбираться с ним. Нашёл fcsh для ускорения повторной компиляции. Всё равно медленно, но хотя-бы приемлемо. Для порядка надо-бы разобраться и с размером получаемого файла. Читал разное по теме, понял, что надо как-то исключить неиспользуемые компоненты, но пока не понял, как. Можете дать какую-нибудь наводку?

silin
17.02.2009, 10:05
флексовый компилятор может работать не только с MXML, но и с "чистым" AS : размер swf от 1к.., время компиляции, сложность - все только от самой задачи

оптимизацией фрейморка не занимался, для меня вопрос стоит проще: не как исключить неиспользуемые компоненты, а нужны ли они вообще для ваших задач (для моих как правило не нужны), если все же нужны, то имхо надо смирится и работать с тем что есть, шансы что-то удачно соптимизировать не велики