必要なのはプリローダーを実行することだけで、swf がロードされたことを検出すると停止し、map.swf が実行を開始します。私は何週間もネットを探し回っていますが、運がありません。776kb の大規模なフラッシュ マップがあります。このマップの前にプリローダーを実行する必要がありますが、map.swf に依存しないプリローダーである必要があります。誰でもアイデアを持っていますか?私は本当に助けていただければ幸いです。前もって感謝します
1 に答える
わかりました: http://actionscripts.org/forums/showthread.php3?t=74988&highlight=preloader+tutorial+MX+2004
stop();
//----- //-------------preloader------ //プリローダーバーがすぐに「満杯」にならないようにします bar_mc._xscale = 0; //ムービーをレベル 1 にロードする loadMovieNum("yourMovie.swf", 1); //ロードするムービーの最初のフレームが空白であることに注意してください。_level1.stop(); onEnterFrame = function () { // レベル 1 のバイトを取得し、パーセントにします。 percent = Math.ceil((_level1.getBytesLoaded()/_level1.getBytesTotal())*100); //パーセントを使用して、プリローダー バーの xscale を決定します。bar_mc._xscale = パーセント; // ロードされている場合は level1 を再生 if (percent>99) { //onEnterFrame を削除する必要があることに注意してください。this.onEnterFrame を削除します。_level1.gotoAndPlay(2);
}
};
基本的に、これは私のメインの外部 SWF とは完全に別のものです。必ず同じフォルダーに入れて、すべてのファイル構造をそのままにして呼び出してください。そうしないと機能しません。そして、それは私が呼び出している外部swfと同じ高さと幅です - 私はコードのロードが外部flaから始まる場所であるため、再生するフレームをフレーム1に移動するように置き換えました。御馳走を働きます。また、フレーム番号(2)の最後の参照もフレーム1に変更されているため、externa swfの開始から再生されます。いいね.....