4

プリローダーのセットアップ方法を知っており、それが機能しています。しかし、Flash アプリケーションをデバッグしてダウンロードをシミュレートすると、数秒経過するまで背景が空白になります。

私はそれがswfファイルを「ダウンロード」していることを知っており、そのための進行状況バーを表示できるかどうか疑問に思っています.私が取得するファイル?

私は何かを見つけましたProgressEvent.PROGRESSが、これはフラッシュファイルのダウンロードが完了した後にのみ読み込まれます.

4

1 に答える 1

2

内部的には、SWF内のものはフレームに分割されており、Flash PlayerがSWFをロードしているときは、フレームのコンテンツがまだ終了していなくても、ロードされるとすぐに表示と実行が開始されます。プリローダーがSWFの初期フレームの早い段階で保存され、重いコンテンツが後で保存される限り、プリローダーを表示することは非常に可能です。

あなたがおそらく遭遇している問題は、合理的に通常の方法でコンテンツを構築する場合、すべてのクラスオブジェクトが最初のフレームに格納されることです。これを変更する最も簡単な方法は、FLAファイルで、[公開設定]>[フラッシュ]>[AS3設定]の下に、[フレームにクラスをエクスポートする]のダイアログがあります。その設定を1からたとえば5に変更すると、ルートタイムラインの最初の数フレームに(フレームスクリプトを使用して)単純なプリローダーを配置し、クラスを使用するすべてのものが5番目のフレームの後のどこかに配置されるようにすることができます。

プリローダーでフレームスクリプトを使用したくない場合は、クラスベースのプリローダーを使用することもできますが、クラスにリンクされている各オブジェクトのプロパティダイアログに移動し、[フレームにエクスポート]のチェックを外す必要があります。 1 "オプションを選択し、タイムライン階層のどこかに配置して、エクスポートされるようにします。これは少し面倒です。当然、プリローダーを表すクラスオブジェクトは、最初のフレームにエクスポートする必要があります。

または、問題全体をエンドランして、プリローダーを個別のシェルSWFとして作成することもできます。これは、それ自体をロードしてから、実際のコンテンツをロードしてローダーバーを表示します。プリローダーを再利用したい場合は、このオプションを選択することがよくあります。

于 2010-06-02T03:20:45.127 に答える