0

かなり大きな (34 MB) Flash CS4 AS3 swf が全体としてプリローダーのようにロードされています。

l.load(new URLRequest(" sample.swf "));

読み込み時間を最小限に抑えるためのオプションは何ですか? swf を分割して複数のサーバーからロードすることはできますか?

ライブラリから画像を動的にロードしています:

var myBitmapDataObject:myBitmapData = new myBitmapData(100, 100); var myImage:Bitmap = new Bitmap(myBitmapDataObject); addChild(myImage);

現在、コンパイルされたクリップに含めるために、すべての画像を宣言/参照しています。誰かがより良い方法を知っていますか? Flex の使用にはまだ慣れていません。

ご提案ありがとうございます。

4

1 に答える 1

0

これは、(a) 読み込み時間を短縮することと、(b) 必要な変数宣言の数を減らすことに関する 2 つの別々の質問であると想定しています。

-

(a) については、読み込み時間を短縮するために、(b) へのアプローチ方法を変更することをお勧めします。

-

(b)についてですが、ライブラリから動的に画像を読み込むようなものはありますか? それらはすべて埋め込まれています!そして、SWF を肥大化させます。私がしたいことは、怠惰な戦略を使用することです.SWFからそれらを引き出してから、画像ローダーを使用してサーバーからそれぞれを直接ロードします. その方法については、 http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.html#includeExamplesSummaryを参照してください。

これにより、SWF のサイズが縮小され、問題 (a) が解消される可能性があります。

704 の異なる宣言があるという問題については、1 つの解決策として、画像の名前を変更して、"image1.jpg"、"image2.jpg"、...、"imageN.jpg" などの一貫した命名規則を使用することをお勧めします。これは、Mac の Applescript や Windows の Photoshop などのプログラムを使用してすばやく行うことができます。それができたら、次のようなことができます。

for(var i:int = 1; i <= 704; ++i)
{
 var url:String = "image" + i + ".jpg"; 
 // load the image from this URL
 // addChild(this image)
 // maybe push it onto the end of an array as well, if you need that
}
于 2010-04-23T20:52:33.727 に答える