2012-02-23 14 views
2

わずかに異なるテキストのほぼ同じ8000個のSWFファイルを生成する必要があります。私はフラッシュバーについて知っていますが、残念ながら、これらのファイルを公開することはできません。フラッシュバーを渡すことはできません。私が探しているのは、フラッシュデザイナーに見た目の良いテンプレートファイル内のプレースホルダのテキストまたは要素を使用してください。コマンドラインユーティリティを何度も呼び出すと、わずかに変更されたテキストでこれを8,000コピー作成することができます。SWFファイルのバッチ生成

私は今一日を検索しており、私たちを助けるものは何も見つかりませんでした。確かに、私はフラッシュデベロッパーではありませんが、これはかなり簡単です。

答えて

1

なぜMXMLCは機能しませんか?

対象のSWF形式は何ですか?それが8以下であれば、SWFMillと組み合わせてMTASCを試すことができます(これはコードとグラフィックのためのテキストソースファイルを必要とします)。

SWF仕様が公開されているため、SWFファイルをさまざまなレベルで解析できるパーサーがいくつかあります。テキストフィールドの内容を置き換えることだけの問題であれば、おそらく、テキストフィールドを含む1つのタグを書き換えて、ファイルヘッダーの合計ファイルサイズを更新するだけで十分です。

これをリアルタイムで実行する必要がある場合は、SWFに含まれるコードの量と再コンパイルする必要がある量に大きく依存しますが、一般にHaXeコンパイラはMXMLCよりはるかに高速で、要求に応じてそれらをコンパイルするのではなく、すべてをあらかじめコンパイルして要求に応じて処理することができます(高価なもの、コンパイルに要する時間、サーバー上の領域によって異なります)。

EDIT:あなたは、あなたがこのような何かを持っている可能性がMXMLCを使用していた、と言う:

#!/usr/bin/env bash 

for i in {0..8000} 
do 
    cp ./ClassWithText.template ./ClassWithText.as 
    sed -i s/%pattern%/counter${i}/g ./ClassWithText.as 
    mxmlc ./ClassWithText.as -o ./result-${i}.swf 
done 

注:あなたはおそらく、それはいくつかのハードコードされたパスを持っているので、mxmlcをグローバルにアクセスを取得することはできませんので、コンパイラへの絶対パスを使用しますが、そのアイデアは同じでなければなりません。それはに変換されるだろう

var myText:String = "%pattern%"; 

var myText:String = "counter0"; 

してから、 "カウンタ" をコンパイルして、コンパイル

はその後、あなたはClassWithText.templateファイルでこのテキストを持っていた、と言います等々。

+0

MXMLCは、ほとんどのフラッシュ開発者がよく知っているものですか?私が言ったように、文字通りフラッシュは何もわかりませんが、わずかに異なるテキストの8000個の物理SWFファイルが必要であることはわかります。私はMXMLCのドキュメントを読んでいますが、フラッシュ開発については何も知らずに、かなり外国です。私たちの地域で明日フラッシュ開発者に連絡しますが、そうする前に私が何を探しているかを確認したいのです。 – Kevin

+0

答えと例をありがとう。私はこれで私たちを助けることができる人を見つけようとします。 – Kevin

0

wvxvwによれば、mxmlc compilerを使用し、JSFLを使用してFlash IDEのスクリプトを作成することもできます。

関連する問題