Да-да стоят перед некоторыми и такие задачи :)
Итак, надо:
собрать 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>
Комментариев нет:
Отправить комментарий