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