私はFlashCS3で作業しており、Actionscript 2をターゲットにしており、イメージプリローダーを作成しています。ダウンロードシミュレーションをオンにしてムービーをテストすると、すべてが正常に機能し、プリローダーが作成したダウンロードプログレスバーを正常に更新します。ただし、映画をWebサーバーにアップロードすると、MovieClipLoader.onLoadProgressイベントがアップロードの最後まで発生しないかのように動作します。これは、映画が通知なしで数秒間ダウンロードされた後、アクティビティの突然のバーストと私のプリローダーは非常に急速に0から100%になります。誰かが以前にこの動作に遭遇したことがありますか?もしそうなら、私は何を間違っていますか?
4 に答える
さまざまなブラウザで試しましたか?Flash は、少なくとも場合によっては、ブラウザを使用してファイルをダウンロードすると思います。Firefox が Flash に通知せずにファイルをダウンロードし、すべてを一度にフラッシュに送信している可能性があります。私は FF がこれを行うのを見たことがありませんが、拡張機能がダウンロードを傍受している可能性があります。
以前のように進行が急激に進むのを見たのは、再ダウンロードする代わりにキャッシュされたコピーを取得していたときだけだと思います。しかし、実際のダウンロードが行われているのを見ているので、それはあなたが得ているものではないと思います.
IE で試してみて、同じ動作が得られるかどうかを確認してください。
Charles ( http://www.charlesproxy.com/ ) のようなデバッグ プロキシを使用して、ファイルがサーバーからどのようにダウンロードされているかを確認することをお勧めします (たとえば、ダウンロードが開始されるまでの待ち時間が長いか、何秒かかるかなど)。実際にデータを転送するのにかかります)。そうすれば、プリローダーがサーバーからのデータ転送を正確に反映しているかどうかをよりよく確認できます。
多くのテストの後、プリローダーの仕組みを完全に再構築/書き直すことになり、これで問題が解決しました。最終的な画像の読み込みとイベントの発火の間の遅延だと思っていたのは、実際には (理由はまだ完全には理解できていません)、プリローダー クリップを更新したコードがイベントの実行中に実行されていませんでした。起動されましたが、代わりに、シリーズの最後の画像の読み込みが開始されるまで待機していました。ロードの進行状況を更新するコードを、プリローダー ムービー クリップ (いくつかの _root レベルの進行状況変数を参照し、フレームに入るときに自身を更新していた) 内から onLoadProgress イベント自体に移動しました。コメントをくださった皆様、素早い回答ありがとうございました。私が 15 歳になったらすぐに、あなたの両方の回答が役に立ったので投票します。
Matt様 早速のお返事ありがとうございます。チャールズのことは聞いたことがありませんでしたが、信じられないほど強力なツールのようです。私の目的のために、Firefox で Firebug の Net ツールを使用して、ファイルの get リクエストと進行状況を確認することもできます。Charles と Firebug の両方が、イメージが要求され、正常にダウンロードされていることを示しています。すべてのイメージは、Flash ムービーが応答してロード バーを更新し、onLoadProgress を起動するように見える数秒前に完了しています。