2

コマンドで JSFL からアクセスできるように、フラッシュ ファイルから変数を設定したいと考えています。

私は JSFL の XMLUI の要素を使用しています: これが JSFL です:

fl.getDocumentDOM().xmlPanel(fl.configURI + 'Commands/ATest.xml');
fl.trace(fl.xmlui.get('secretword'));//this traces undefined

XMLUI:

<dialog buttons="accept,cancel">
  <textbox id="display_tb" size="24" />
  <flash id="trace_fl" width ="150" height="100" src="ATest.swf">
    <property id="secretword" />
  </flash>
  <button id="trace_btn" label="trace Flash" oncommand="fl.xmlui.set('display_tb','the secret word is ' + fl.xmlui.get('secretword'));" />
</dialog>

ATest.swf 内のアクション スクリプト:

MMExecute("fl.trace('Hello From Flash XMLUI');");
XMLUI.setProperty('secretword','duck');

私が使用する場合は注意してください

MMExecute("fl.xml.ui.set('secretword','duck')");

それ以外の

XMLUI.setProperty('secretword','duck');

エラーが発生します。

シークレットワードは XMLUI で適切に設定されています。

  • fl.xmlui.get('secretword') を使用して、「display_tb」テキストボックスに値を設定できます
  • actionscript から値を出力できます (fl.trace() を使用)

しかし、パネルを開いた後に JSFL で trace fl.xmlui.get('secretword') を使用すると undefined になります。

ある意味では、xmlui ダイアログが表示されている限り xmlui 変数が存続し、ユーザーがacceptまたはcancelのいずれかをクリックするとすぐに未定義になる場合は、意味があります。誰かがこれが事実であることを確認できますか?

回避策として、xmlui から JSFL を介して「秘密の言葉」をテキスト ファイルに保存しますが、xmlui ノードから JSFL に値を渡すだけの方が簡単です。ファイルをディスクに書き込む以外に、これを行う「よりクリーンな」方法はありますか?

4

1 に答える 1

1

ある意味では、xmlui ダイアログが表示されている限り xmlui 変数が存続し、ユーザーが同意またはキャンセルをクリックするとすぐにそれらが未定義になる場合、それは理にかなっています。誰かがこれが事実であることを確認できますか?

はい、私もそう思うです。

回避策として、xmlui から JSFL を介して「秘密の言葉」をテキスト ファイルに保存しますが、xmlui ノードから JSFL に値を渡すだけの方が簡単です。ファイルをディスクに書き込む以外に、これを行う「よりクリーンな」方法はありますか?

この合言葉を XMLUI のルート要素に適用してみませんか?

于 2010-08-31T22:15:27.607 に答える