0

私はActionScript3.0で簡単なSWFローダーを作成しました。サーバーからSWFをロードし、再生します。ダウンロード中は「読み込み中」画面が表示されます。
その主な欠点は、コンパイル対象のFlashアプリケーションを1つしかロードできないことです。test1.swfという名前だとしましょう。
ローダーが複数のFlashアプリ(たとえば、test2.swfとtest3.swf)をサポートするようにする方法はありますか?つまり、別のローダーを作成するのではなく、外部パラメーターを渡すことです。Javascriptを使用することがそれを行う唯一の方法ですか?ローダーにJavascriptのサポートを要求したくありません。
そして、私は本当にすべてのアプリに個別のローダーを作成したくありません...
よろしくお願いします。

4

1 に答える 1

1

外部SWFをロードするために、ローダーはロードされるswfのURLのみを必要とします。このURLはハードコーディングする必要はありません。SWFファイルにパラメーターを渡す方法はたくさんありますが、必ずしもJavascriptを必要としません。

たとえば、XMLファイルをロードできます。単純なテキストファイルでも機能します。PHPスクリプトを使用することもできます。flahsvarsを使用するには、Javascriptが必要ですが、HTMLページでアプリケーションを設定する場合のみです。

次の例では、アプリを再コンパイルする必要はありません。テキストファイルのURLを変更するだけです。

次のようなURLを含むテキストファイルの例:
http://yourwebsite.com/test1.swf

var urlLoader:URLLoader = new URLLoader();
urlLoader.addEventListener(Event.COMPLETE、completeHandler);
urlLoader.load(new URLRequest('swfURL.txt'));

関数completeHandler(event:Event):void
{{
 loadExternalSWF(event.target.data);
 event.target.removeEventListener(Event.COMPLETE、completeHandler);
}

関数loadExternalSWF(url:String):void
{{
 //ここにあるコード、url値を使用
 trace(url);//テキストファイルのコンテンツを返す必要があります
}
于 2010-08-29T16:00:33.177 に答える