- ベストアンサー
外部写真読み込み表示方法
外部写真読み込み表示方法 AS2.0 CS3を使っています。 50枚ぐらい写真データがあるのでFlashに読み込まずにMovieClipLoaderを使って 外部写真データとして1フレーム1枚づつ読み込ませています。 初めのロード時間がかなり少なくなったのですが、今度は1フレームづつロード時間が出てきてしまいます。 そこで外部データをまとめて読み込みキャシュに書きこみ書き込まれていないデータの時は MovieClipLoaderを使って表示させる事は出来ないのでしょうか? 表現があまりうまくないので伝わりにくいかもしれませんがよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
キャシュに残すか残さないかはブラウザの設定とブラウザの動向で決まることです。 (Flash サイドの問題ではない。) 普通の設定では 同じ URL の JPEG をロードしようとしたときに それが ブラウザ の キャッシュに残っていれば ブラウザが そのキャッシュをロードしようとすると思いますし キャッシュに残っていなかったり残っていても古いと判断される場合は ブラウザが本家の URL の JPEG のロードを試みると思います。 > 外部写真データとして1フレーム1枚づつ読み込ませています。 何だかよくわかりませんが パラパラマンガでも作ろうとさせているとか。。。 とにかくよくわかりませんが 以下のような感じのことをしたいということでしょうか? 50枚 の 外部 JPEG は SWF や HTML と同じフォルダにあって 「pic0.jpg」「pic1.jpg」…「pic49.jpg」 というファイル名が付けるものとします。 そのフォルダに 新規ドキュメントを作成した場合 _root の フレーム1 に書くスクリプト例↓ --------------------- //連番付きJPEGの最初の番号を設定 var first_num:Number = 0; //連番付きJPEGの最後の番号を設定 var last_num:Number = 49; //カウント用の変数を用意 var cnt:Number = first_num - 1; //MovieClipLoederインスタンスを用意 var my_mcl:MovieClipLoader = new MovieClipLoader(); //ロードを監視するオブジェクトを用意 var listener_obj:Object = new Object(); //JPEG1枚ごとのロード完了時の動作を定義 listener_obj.onLoadInit = function(target_mc:MovieClip):Void { //ロードしたムービークリップを非表示にする target_mc._visible = false; //カウントを1加算 cnt++; //もしカウントがJPEGの最後の番号になれば if (cnt == last_num) { //カウント初期状態に戻す cnt = first_num - 1; //毎フレーム時間で実行するハンドラに関数を代入 _root.onEnterFrame = changeJPEG; } }; //my_mcl のリスナー として listener_obj を登録 my_mcl.addListener(listener_obj); //各JPEGに関するループ for (var i:Number = first_num; i <= last_num; i++) { //空のMC 「loader_mc○」 を 深度○ に作成 _root.createEmptyMovieClip("loader_mc" + i, i); //「loader_mc○」 をターゲットに外部JPEGをロード my_mcl.loadClip("pic" + i + ".jpg", _root["loader_mc" + i]); } //関数 changeJPEG の定義 function changeJPEG():Void { //各 「loader_mc○」に関するループ for (i = first_num; i <= last_num; i++) { //「loader_mc○」 を全て非表示 _root["loader_mc" + i]._visible = false; } //カウントを1加算 cnt++; //「loader_mc(cnt)」 を表示 _root["loader_mc" + cnt]._visible = true; if (cnt >= last_num) { //毎フレーム時間で実行するハンドラを削除 delete _root.onEnterFrame; } } ---------------------
お礼
詳しい説明ありがとうございます。