メイン コーダーズルーム【スクリプト系】 MovieClipLoaderで画像をカウントする | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
gomomo | Åê¹ÆNo.26649 投稿日時: 2006-7-5 0:46 |
新米 居住地: 東京 投稿: 16
使用環境:
WinXP PRO Flash CS3 |
MovieClipLoaderで画像をカウントする ご無沙汰しております
また困った事があったのでお知恵を借りたいと思いまして^^; お願いいたします。 MovieClipLoaderを使ってステージに配置したMCにjpg画像を読み込みたいのですが、読み込む画像の枚数が1枚から5枚と変わります。 枚数を記述したテキストを読み込んだり、フラッシュ自体を編集しないで、フラッシュ自体に画像をカウントさせたいと思っています。 作った物をローカルで試してたうちはうまくいってたのですがUPしようと思い、読み込むファイルをサーバー上のものにしたらうまくいきません。 まず、5個のMCを配置してさらにその中に配置したMCに画像を読み込んでいます。 その5個の親MCに tLoadStatus="ready"; とフラグを立てておいて、 ルートの1フレーム目に loadPhoto_mcl = new MovieClipLoader(); mclListener = new Object(); mclListener.onLoadComplete = function(target_mc) { target_mc._parent.tLoadStatus = "comp"; }; mclListener.onLoadError = function(target_mc, errCode) { target_mc._parent.tLoadStatus = "error"; }; loadPhoto_mcl.addListener(mclListener); とMovieClipLoaderの設定をして2フレーム目で ++nPnum;//カウント用変数(1フレーム目で0に初期化) mTargetMc = "photo"+nPnum+"_mc.loadPhoto_mc"; loadPhoto_mcl.loadCliP("http://www.?/flash/P"+nPnum+".jpg", mTargetMc); (なぜか相対パスで指定するとまったく読み込まないのでフルパスで指定してみました) と読み込んでいます。 この先、1フレームあけて4フレーム目で if (this["photo"+nPnum+"_mc"].tLoadStatus == "comp") { gotoAndPlay(2);//次の写真を読み込む } if (this["photo"+nPnum+"_mc"].tLoadStatus == "error") { gotoAndPlay(5);//5フレーム以降の動きへ } if (this["photo"+nPnum+"_mc"].tLoadStatus == "ready") { gotoAndPlay(3);//どちらかのフラグがたつまでループ } としました。 ローカルで試すとこれで動くのですが、上のようにサーバー上のものを読み込もうとすると、読み込み自体はうまくいくのですが、ないはずの(テストのため3枚しかUPしてません)4枚目、5枚目のフラグもしばらく"ready"でループした後"comp"になってしまいます。 読込先のパスを絶対パスで指定しているのがまずいのか… ちなみにフラッシュもフラッシュ置いたHTMLページもflashフォルダも同じ階層なら"/flash/P"+nPnum+".jpg"であってますよね? まあ、でも画像は読み込めてるので関係ないと思いますが。 また5枚と決まっているので、とりあえず5枚分読み込み動作を行って、MCの大きさを取得して写真の枚数をカウントするとか、他の方法も思いついたのですが、とりあえず、なんでサーバー上だとだめなのか納得がいきません。 あいかわらず、思いつくままに書いた、わかりづらい稚拙なスクリプトで申し訳ないですが^^; 問題点の指摘等、お願いいたします。
|
ひろゆき | Åê¹ÆNo.26650 投稿日時: 2006-7-5 2:24 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: MovieClipLoaderで画像をカウントする 引用:
あいかわらず、思いつくままに書いた、わかりづらい稚拙なスクリプトで申し訳ないですが^^; もう少し整理してから、質問しましょう。
引用: ちなみにフラッシュもフラッシュ置いたHTMLページもflashフォルダも同じ階層なら"/flash/P"+nPnum+".jpg"であってますよね? 例えば、
"/flash/P"+nPnum+".jpg" ではなく、 "flash/P"+nPnum+".jpg" ではないでしょうか? _root 第1フレーム
_root 第2フレーム
_root 第4フレーム
また、大文字・小文字の区別がきちんとついているか確認された方が良いでしょう。 引用: 他の方法も思いついたのですが、とりあえず、なんでサーバー上だとだめなのか納得がいきません。 そのサーバーはレンタル・サーバーですか? ファイルが存在しない場合、 そのままのURLで、広告が表示されるなどということはありませんか? 「サンプル」 _root 第6フレーム
外部画像は7つしかありません。8つ目は存在しません。
|
gomomo | Åê¹ÆNo.26685 投稿日時: 2006-7-6 0:02 |
新米 居住地: 東京 投稿: 16
使用環境:
WinXP PRO Flash CS3 |
Re: MovieClipLoaderで画像をカウントする おっしゃるとおり整理がついてなくて、今読み返すとわかりづらかったと思います。
失礼しました 引用: そのサーバーはレンタル・サーバーですか? その指摘でわかりました。 「そのままのURLで」という事はないのですが、ないものを読み込もうとすると、「そのページはありません」的なページを出すサーバーです。 そのメッセージなのか、URLなのかわかりませんが、それを読み込んで、ロードコンプリートを返していたようです。 一度読み込んで”コンプリート”を受け取った後、そのMCの_widthなどを調べて、MC(画像)の数を数える事に成功しました。 おかげさまで勉強になりました。 ありがとうございます。
|
野中文雄 | Åê¹ÆNo.26689 投稿日時: 2006-7-6 1:01 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: MovieClipLoaderで画像をカウントする 404エラーのページがカスタマイズされていると、MovieClipLoader.onLoadInitまで正常にロードされたプロセスでイベントが発生してしまうことがあるようです。そのときは、MovieClipLoader.getProgress()メソッドで調べたバイト数が0を返したので、その結果で処理を分けたと思います。
引用: gomomoさんは書きました: |
gomomo | Åê¹ÆNo.28752 投稿日時: 2006-9-16 13:02 |
新米 居住地: 東京 投稿: 16
使用環境:
WinXP PRO Flash CS3 |
Re: MovieClipLoaderで画像をカウントする 超遅レスですが^^;
野中様ありがとうございました。 MovieClipLoader.getProgress()で容量を調べた方がスマート、というか、私の方法だと画像しか対応出来ないですよね。 覚えておきます。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |