1

ActionScript 2 で外部 XML ファイルにアクセスする方法は知っていますが、このプロジェクトでは、SWF ファイルが自己完結型である必要があります。

私が XML を保持している理由は、それが別のプログラムの出力であるためです。したがって、XML をそのまま保持できる場合は、手動でデータを入力することは避けます。

[embed] メタタグが AS3 で利用できることは理解していますが、残念ながら AS2 で行き詰まっています。

ActionScript 2 で XML ファイルを埋め込んだり、コンパイル/パブリッシュ時にデータを読み取って変数として保存したりする方法はありますか?

4

2 に答える 2

1

AS3 では、(embed 構文を使用せずに) XML をハードコーディングできます。

private var myXml:XML = <root_node>
                            <child_1 />
                            <child_2 />
                        </root_node>;

AS2 を簡単に検索したところ、次のように実行できるようです (リンクされた記事では、落とし穴が 1 つまたは 2 つ言及されていることに注意してください)。

xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.parseXML("<root_node><child_1 /><child_2 /></root_node>;");
于 2012-07-18T18:20:27.240 に答える
0

広範囲にテストした結果、Flash だけに頼って問題を解決するには限界が大きすぎることがわかりました。

私は AS2 に限定されており、外部 XML を使用できないため、つまり...

  1. XML を埋め込むことができません (AS3 機能)。
  2. XML 全体をステージのテキスト フィールドに貼り付けようとすると、最大文字数制限の 65535 を超えてしまいます。
  3. XML をコード エディターに直接貼り付けることができません (複数行の文字列リテラルは AS3 の機能です)。
  4. #3については、すべての引用符をエスケープして改行を削除した後でも、Flashはその長さの変数でチョークします。

だから私がしたことは、jQueryを使用して別のHTMLページを作成することでした。ターゲットXMLファイルをロードし、Flashファイルが使用しないすべてのデータをクリーンアップし、結果をdivに吐き出し、角括弧と引用符を適切にエスケープします、このようにして、結果の XML データは、入力として使用できるステージ上のテキスト フィールドに収まるほど小さくなります。

したがって、ワークフローは次のようになります。

Generate XML -> Open HTML page -> Copy Cleaned XML -> Paste into Textfield in Flash -> Publish

これは別のステップかもしれませんが、HTML/JavaScript はどこでも実行でき、私のユーザーにとって非常に単純なので、私の制限を考慮すると最終的には良い解決策になりました。

于 2012-07-19T19:39:21.133 に答える