swfmill импортирует swf в библиотеку с параметрами
У меня есть этот кусок XML, который я использую для создания нового файла swf через swfmill:
<?xml version="1.0" encoding="iso-8859-1" ?>
<movie width="300" height="250" framerate="24">
<background color="#ffffff"/>
<frame>
<library>
<clip id="test_swf" import="test.swf"/>
</library>
<place id="test_swf"/>
</frame>
</movie>
Я хотел бы передать этому swf некоторые переменные, такие как текст и изображение, для загрузки на сцене, как это можно сделать с помощью FlashVars: <param name=FlashVars value="oneText=Hello%20World&oneImage=image.jpg" />
Спасибо!
Небольшое обновление:
Я попытался дать параметры как переменную GET, как это
<clip id="test_swf" import="test.swf?theValue=Hello%20World"/>
но он не работал и получил эту ошибку при копировании:
WARNING: Cannot import test.swf?oneValue=Hello%20World (unknown extension), skipping.
2-е обновление
После некоторых поисков я нашел способ установить правильный способ передачи переменных во встроенный SWF-файл в swfmill output swf. Конечно, используемый метод @little update был ужасно неправильным.
Теперь код XML выглядит так:
<?xml version="1.0" encoding="iso-8859-1" ?>
<movie version="8" width="600" height="400" framerate="24">
<background color="#000000"/>
<frame>
<library>
<clip id="main" import="test.swf"/>
</library>
<DoAction>
<actions>
<Dictionary>
<strings>
<String value="_global"/>
<String value="aa"/>
<String value="Hello world"/>
<String value="bb"/>
<String value="image.jpg"/>
</strings>
</Dictionary>
<PushData>
<items>
<StackDictionaryLookup index="0"/>
</items>
</PushData>
<GetVariable/>
<PushData>
<items>
<StackDictionaryLookup index="1"/>
<StackDictionaryLookup index="2"/>
</items>
</PushData>
<SetMember/>
<PushData>
<items>
<StackDictionaryLookup index="0"/>
</items>
</PushData>
<GetVariable/>
<PushData>
<items>
<StackDictionaryLookup index="3"/>
<StackDictionaryLookup index="4"/>
</items>
</PushData>
<SetMember/>
<EndAction/>
</actions>
</DoAction>
<place id="main" />
</frame>
</movie>
и мой скрипт действия (AS 2.0) выглядит так:
_root.text_input.text = _global.aa;
loadMovie( _global.bb ,dropzone,'GET');
trace (_global.aa+' '+_global.bb);
Я получил структуру данных, которую вы видите в XML с помощью swfmill swf2xml test2.swf
где test2.swf содержит следующую декларацию в самом первом кадре:
_global.aa = 'Hello world';
_global.bb = 'someimage.jpg';
Каким-то образом, даже если это выглядит хорошо, кажется, что переменные нельзя использовать в качестве глобальных переменных.