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.

Второе обновление

После некоторого поиска я нашел способ установить правильный способ передачи переменных во встроенный 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';

Каким-то образом, даже если это выглядит хорошо, оказывается, что переменные нельзя использовать в качестве глобальных переменных.


person Mike    schedule 07.04.2012    source источник


Ответы (1)


Комбинация Haxe и SWFMill сделала свое дело.

person Mike    schedule 09.04.2012