大きな.swfファイルがあるとします。それは10MBだと言います。ユーザーがフレーム1のボタンをクリックするまで、ブラウザにファイル全体をロードさせたくありません。Flashファイル(.swf)の読み込みを停止する方法(ActionScript 3)
外部ファイルを使用したくありません。 Flash Playerで最初の10KBをダウンロードし、フレーム1を表示してから、ユーザーがボタンをクリックするまで停止するだけです。
それは可能ですか?
大きな.swfファイルがあるとします。それは10MBだと言います。ユーザーがフレーム1のボタンをクリックするまで、ブラウザにファイル全体をロードさせたくありません。Flashファイル(.swf)の読み込みを停止する方法(ActionScript 3)
外部ファイルを使用したくありません。 Flash Playerで最初の10KBをダウンロードし、フレーム1を表示してから、ユーザーがボタンをクリックするまで停止するだけです。
それは可能ですか?
私の知る限り、swfファイル内の特定のポイントでFlash Playerの読み込みを停止する方法はありません。
外部ファイルの使用を避ける特別な理由はありますか?私はこのために小さな10KBプリローダーswfを提案しているからです。ユーザがボタンをクリックすると、flash.net.URLLoaderを使用してメインの10MB swfファイルをロードします。
私はこれが可能ではないと思います。私が信じているムービークリップのframesLoadedプロパティを見て、ムービー全体のダウンロードが完了する前に、ユーザーがフレーム1のボタンをクリックできないことを確認できますが、実際に途中でクリップがダウンロードされるのを止めることはできません。
Flash Playerは、SWFファイルをストリーミング形式として扱います。これは、Flash Playerがフレーム#1のコンテンツをダウンロードした瞬間に、そのフレーム上の内容を表示し、そのフレームでコードを実行することによって、このフレームを処理することを意味します。 Flash Playerはその間にフレーム#2のダウンロードを開始します。
stop();コマンドを実行すると、再生が停止しますが、Flash Playerは残りのフレームをダウンロードし続けます。これにより、プリローダーを作成できます。最初のフレームで再生を停止し、読み込まれたSWFファイルの量と100%再生が続行されたことを監視するonEnterFrameを作成します。
あなたの質問に答えると、Flash Playerが次のフレームをダウンロードするのを止めることはできません。目的に合わせて外部のSWFファイルを使用する必要があります。
外部ファイルを使用しないとできません。これを外部ファイルを使用して行うには、Shrillが言ったことを実行してください。
しかし、より良い質問はなぜですか?最初のフレームが10kbの場合、最初のフレームは、10kbがロードされているファイルの再生準備ができています。
最初のフレームがロードされるまで待ってから再生することができます(残りはバックグラウンドで目に見えないようにダウンロードされます)。次に、ユーザーがボタンをクリックすると、次の2つのうちのいずれかを行います。既に完了していない場合は続行し、残りのロードプロセスを監視してから続行してください。
swfファイルはストリーミング可能な形式ですが、それを利用する上で問題はありません。
私はShrillと完全に同意します。 –