Обозреватель

Observer

воскресенье, 9 марта 2008 г.

AS2 автоматическая сборка компонентов без Flash IDE, с помощью FlashDevelop //Инструкция

Оригинал.

Да-да стоят перед некоторыми и такие задачи :)

Итак, надо:
собрать swc, включающий swf компонента, catalog.xml, asi-файлы классов.

swf должен содержать клип, ассоциированный с классом компонента и все
графические ассеты в библиотеке.

здесь помогает swfmill - пишем xml собираем swf. ( :) предварительно
пришлось поразбирать несколько swf, компиленных во FLASH IDE чтоб
понять как писать xml)

<... редакция класса ... >

компилим mtasc - с инъекцией кода (проще говоря обновляем классы в ролике)

для генерации asi используем igen из тулзов flashdevelop'a
(оказывается asi это intrinsic :) )

пишем bat-файл (запускаем его как post-build команду), нечто вроде:

rem установка переменных

set tools="C:\Documents and Settings\ddns\Local Settings\Application
Data\FlashDevelop\Tools\"

rem вызываем igen

%tools%\igen\igen -clean src bin

rem переименовываем получившиеся *.as файлы в *.asi

for /R bin\ %%A in (*.as) do if exist %%A (
erase /q bin\%%~nA.asi // если такой файлик есть то стираем его.
rename %%A %%~nA.asi
)

erase bin\3d.swc

rem архивируем winrar'ом в zip

C:\Progra~1\winrar\winrar a -afzip bin\3d -r -ep1 -m5 -x*.bat -x*.exe bin\

rem изменяем расширение на *.swc
rename bin\3d.zip 3d.swc

rem :) опционально подкладываем файлик в папку компонентов флеша.

copy /Y /B bin\3d.swc "C:\Documents and Settings\ddns\Local
Settings\Application Data\Adobe\Flash
CS3\en\Configuration\Components\"

/////////////////////


Остается нерешенным вопрос, а как бы сгенерировать автоматически catalog.xml
для компонента?
Кто-нибудь что-нибудь посоветует?

xml вида:

<componentPackage xmlns="http://www.macromedia.com/flash/swccatalog/7">
<component id="myComponent" class="ComponentClass"
implementation="libc.swf" iconFile="libc.png"
src="Component3Dworks.asi" modified="1204586771">
<movieBounds xmin="0" xmax="11000" ymin="0" ymax="8000" />
<include id="boundingBox_mc"/>
<include id="activity"/>
<exportAfter id="__Packages.ComponentClass"/>
<class id="ComponentClass" >
</class>
<class id="MovieClip" >
</class>
<asset id="boundingBox_mc" modified="1204576209">
</asset>
<asset id="activity" modified="1204578626">
</asset>
<asset id="__Packages.ComponentClass" src="ComponentClass.asi"
modified="1204586020">
</asset>
</component>

Комментариев нет: