メイン コーダーズルーム【スクリプト系】 親フラッシュに仕込んだローダーで子フラッシュを再生時不具合 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
maki_an | Åê¹ÆNo.34612 投稿日時: 2007-8-9 19:35 |
半人前 居住地: 東京 投稿: 47
使用環境:
FlashCS5 WIN7 DELL PentiumD 1.5Ghz |
親フラッシュに仕込んだローダーで子フラッシュを再生時不具合 はじめまして!よろしくお願いいたします。
まず、製作環境からお伝えします。 WIN XP Sp2 PentiumD1.5GHZ 使用しているFLASHはFLASH8です。 今作っているフラッシュサイトについて質問です。 親フラッシュに仕込んだローダーで子フラッシュを再生するように しているのですが、 1.ローダーの表示が0から進まず、ロード自体も開始されない。 2.ローダーの表示は0からきちんと進むのですが、100パーセントになると止まってしまい、そのまま長い時間待ってみても子フラッシュが表示されない。 という症状が出てしまいます。 常にこうした症状が起こるわけではなく、 光回線×PentiumD1.5GHZ×winXPの組み合わせでは、10回に1回くらいの割合です。 しかし、セレロン600Mhz×winXPでは、頻度が上がります。 また、回線速度が低速でも起きやすい傾向があります。 ネット回線を介さず、自分のPC内でパブリッシュして見るときは症状が出ることはありません。 ローダーコンポーネントを内包したMCのタイムラインで、 以下のような流れでロードをしています。 ◆8フレーム目 this.loader.autoLoad = true; ◆12フレーム目 loader.contentPath="./child.swf"; //child.swf=読み込むファイル名 flag_subplay = 1; //親swfから子swfを読む際に、読み込み完了までは子swfは1フレーム目で止めておきたい。 //そのために、このフラグを設定する。子swfはこのフラグを見て、 //自分が1フレーム目で止まるか、先に進むかを判断する。 timeout_check = 0; //読み込みが0%のままずっと進まない場合の対策 g_loaded = 0; g_str_per = ""; //%表示をリセット //stop(); ◆16フレーム目 g_masksize = 91; //マスクの移動幅 g_xposi = -169; //マスクのx座標 this.stop(); g_loaded = loader.getBytesLoaded();//今の時点で何byteロードできているか g_total = loader.getBytesTotal();//ロード対象の総量 g_percent = Math.floor((g_loaded/g_total)*100); g_str_per = g_percent + "%"; this.loadmask._x = g_xposi+((g_masksize*g_percent)/100); if (g_percent >= 100) { this.gotoAndPlay(this._currentframe+1); } else { this.gotoAndPlay(this._currentframe-1); } ◆28フレーム目 loader.content.gotoAndPlay("sub_play"); //子フラッシュの読み込みが完了するまで、子フラッシュの側で1フレーム目にストップを入れて、再生をとめてあります。 そのため、ロード完了の時点で、親フラッシュから子フラッシュ内の"sub_play"というラベルに飛び、普通に再生されるように作ってあります。 _parent.gotoAndPlay("playing");//親フラッシュ側の動作を指定 stop();//このタイムラインの動きを指定 ◆子フラッシュ側1フレーム目 sub_status = 0; if (_parent._parent.flag_subplay == 1) { this.stop(); } else { gotoAndPlay(this._currentframe+1); } this._lockroot = true; //子フラッシュを止めておくためにstopでなく上のような //スクリプトを使うのは、子フラッシュだけをパブリッシュして //様子を見たいときに不便だからです。 //これなら、子フラッシュ単体で再生した時は止まらずに再生で //き、親フラッシュから読む場合は、親フラッシュに仕込んだ //flag_subplay=1を読み取って停止をします。 ◆子フラッシュ側3フレーム目 ラベル"sub_play"があり、以後、ムービー再生します。 このスクリプトに原因があることはわかあるのですが、どこが問題なのかどうしてもわかりません。どなたかお分かりになる方、ご回答お願いいたします。 |
ひろゆき | Åê¹ÆNo.34615 投稿日時: 2007-8-9 23:19 |
ちょんまげら 居住地: 東京砂漠 投稿: 4403
使用環境:
10.8.5 Flash Professional CS4/CS6/CC Safari 6.1 |
Re: 親フラッシュに仕込んだローダーで子フラッシュを再生時不具合 ざっと見ただけですが。
Loaderコンポーネントを用いるのであれば、 リスナーを用いて監視した方がよいのではないのでしょうか? どうも、フレーム・フラグを用いることで かえって複雑にしている気がします。 Loaderコンポーネントを使わずに、 MovieClip.loadMovie を使った場合、 逆に問題が発生しないのではないかと思います。 スクリプトに問題がある可能性だけではなく、 Loaderコンポーネントを配置したムービークリップの構造、 または、Loaderコンポーネントの使い方そのものに問題がある可能性にも 配慮した方がよいのではないでしょうか? 引用: //子フラッシュを止めておくためにstopでなく上のような 便利にするためだけにフラグを使っているということであれば、 この際、child,swf 単体で動かすことについては、一旦棚上げして、 その分、フラグを減らすことで問題の絞り込みを行った方がよいではないでしょうか?
|
maki_an | Åê¹ÆNo.34641 投稿日時: 2007-8-12 21:04 |
半人前 居住地: 東京 投稿: 47
使用環境:
FlashCS5 WIN7 DELL PentiumD 1.5Ghz |
Re: 親フラッシュに仕込んだローダーで子フラッシュを再生時不具合 お返事遅れ申し訳ありません。
しかし、おかげさまで解決しそうです。 本当にありがとうございました! |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |