1

SWF の読み込みバーとパーセンテージを含むこれらの「読み込み中です。お待​​ちください」スプラッシュ スクリーンをどのように作成しますか? as3にはいくつかの組み込みメソッドがありますか、それともゼロから設計する必要がありますか?

つまり、swf ファイルがクライアントのブラウザにロードされていることをどのように検出するのでしょうか?

ああ、私はすべてのコンテンツを 1 つのフレームにのみ保存しています。純粋な as3 コード。

4

3 に答える 3

2

すべてのコードがタイムライン上にある場合、最も簡単な方法は、メインの SWF をロードするためだけに使用される 2 つ目の SWF を作成することです。メイン SWF が呼び出された場合main.swf、ロード SWF のコードは次のようになります。

//make a loader
var loader:Loader = new Loader()

//listen for loading progress
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress);

//listen for when the load is finished
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);

//load begins...
loader.load(new URLRequest("main.swf"));

function onProgress(event:ProgressEvent):void
{
    //calculate how much has been loaded
    var percentageLoader:Number = event.bytesLoaded / e.bytesTotal;
    
    //use your percentage number here to drive a loader bar graphic
}

function onComplete(event:Event):void
{
    //remove listeners now that loading is done
    loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, onProgress);
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, onComplete);
    
    //add loaded swf to the stage
    addChild(loader.content);
}

余談ですが、アセットを外部化すると、新しいプリロードの可能性が開かれます。メイン SWF にすべてを含める代わりに、メイン SWF に外部アセットをロードさせ、それらのアセットをプリロードすることができます。メイン SWF は小さいため、メイン SWF をロードするためだけに 2 つ目の SWF を用意する必要はありません。

于 2012-07-11T20:26:43.753 に答える
1

これを行うには、いくつかの方法があります。

メインファイルにロードするだけのswfファイルを作成し、(ローダーでprogress-eventをリッスンして)進行状況を報告し、ロードしたswfを子として追加します。

または、すべてのコンテンツをフレーム 2 に配置し、フレーム 1 にとどまり、root.loaderInfo.bytesLoaded と root.loaderInfo.totalBytes の値を比較して割合を報告し、完了したらフレーム 2 に進むことができます。

個人的には、フレームで自分を汚す必要がないので、方法 1 の方が優れていると思います。

変なメタデータ タグを使用して 2 番目の方法をシミュレートする 3 番目の方法もありますが、フレームは使用しません。少し面倒ですが、グーグルで検索できるはずです。

于 2012-07-11T20:09:03.077 に答える
0

Flash には、これを実現するために使用できる独自のコンポーネントがあります。

http://help.adobe.com/en_US/ActionScript/3.0_UsingComponentsAS3/WS5b3ccc516d4fbf351e63e3d118a9c65b32-7fa4.html

または、独自のプログレス バーを最初から作成することもできます。

http://www.zedia.net/2008/the-right-way-to-do-a-preloader-in-as3/

ウェブ上には、プログレス バーをカスタマイズできるリソースがたくさんあります。ブラウズして、自分のコーディング スタイルに合ったリソースを見つけてください。

于 2012-07-11T20:28:08.713 に答える