フラッシュMXのナウローディングとロードムービー

このQ&Aのポイント
  • フラッシュMXを使用してb.swfを読み込む際に、ローディング画面でストップする問題が発生しています。
  • a.swfには問題なくアニメーションが再生されますが、b.swfが再生されない原因を解明したいです。
  • b.swfは単体で正常にローディング後に再生されることが確認されています。
回答を見る
  • ベストアンサー

フラッシュMXのナウローディングとロードムービー

最近フラッシュMXをウインドウズXPで使い始めています。質問です。よろしくお願いします。 フラッシュで a.swf に b.swfを読み込ませたいと思っています。b.swfにはナウローディングをつけています。 b.swfの最初につけたナウローディングスクリプトです。 onClipEvent (load) { _root.stop(); var LoaderMC = _root; } onClipEvent (enterFrame) { this.percentloaded = Math.floor(LoaderMC.getBytesLoaded()/LoaderMC.getBytesTotal()*100); trace(this.percentloaded+"%"); this.percentMC.percentdisplay = percentloaded+"%"; this.loaderbalken._xscale = percentloaded; if (percentloaded == 100 && !initialized) { initialized = true; trace("ロード終了"); _root.gotoAndPlay("loadok"); } } a.swfにb.swfを読み込むために、a.swfに次のスクリプトをつけています。 loadMovie("b.swf", "***"); 読み込まれることは読み込まれるのですが、b.swfのローディング画面でストップしてしまい、それ以降b.swfは再生されません。 a.swfに配置してあるアニメは問題なく再生されているのですが。ちなみにb.swfは単体では正常にナウローディング後、再生されます。 なぜ b.swfは再生が止まってしまうのでしょうか。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • noias
  • ベストアンサー率82% (23/28)
回答No.1

こんばんは。 _root.gotoAndPlay("loadok")の部分を絶対パスではなく相対パスに書き換えてみてはどうでしょうか。 b.swfの_rootはa.swfに読み込まれた時点で、a.swfの_rootととして解釈されますよ。

samejima
質問者

お礼

お返事遅れましてすみませんでした。 早速のお答えありがとうございます。 仕事上、物件が私の手元からはなれてしまったので、 まだ確認はしていませんが、 これからのワタシのキャリアのために検証しようと思っています。 本当にありがとうございました。 そして、遅くなってすみません。

関連するQ&A

  • 1フレーム~5フレームまで表示されなくなったのは。。。

    こんにちわ毎回お世話になっております 新しいフラッシュを作ったのですが 前回のフラッシュにしようしたロード画面を 使いまわしました。 ムービークリップ自体には onClipEvent (load) { _root.stop(); } onClipEvent (enterFrame) { if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) { _root.gotoAndPlay(5); } } onClipEvent (enterFrame) { this.gotoAndStop(Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)); } と前回同様記述しました。 しかし今回はロード画面がでず 白紙の画面のまま読み込みが完了し そのままフレーム5に進んでしまっています。 何回もやりなおしたのですが どうしても白紙のまま読み込んでしまいます。 これはFLA自体が破損?したのでしょうか? 非常に困っています。 なにかアドバイスがありましたらお願いいたします。 別のロードムービーを作ったものの 白紙のまま読み込みされました。。。 FLASH8 WIN XP使用です。

    • ベストアンサー
    • Flash
  • Flash:外部JPEG読み込み待ちについて

    こんにちは。どうぞよろしくお願い致します。 Flash MX2004使用です。 外部JPEGを4枚読み込ませ、 4枚全部読み込み終わるまで再生をストップさせる またはローディング画面を表示する という事をやりたいのですが、なかなかうまくいきません。 現在の状況は、1フレーム目に this.ph01.loadMovie("01.jpg"); this.ph02.loadMovie("02.jpg"); this.ph03.loadMovie("03.jpg"); this.ph04.loadMovie("04.jpg"); 「ph01」に onClipEvent (load) { this._parent.stop(); } onClipEvent (data) { if (this.getBytesTotal()>0 && this.getBytesTotal()<=this.getBytesLoaded()) { if (this._parent.ph02.getBytesTotal()>0 && this._parent.ph02.getBytesTotal()<=this._parent.ph02.getBytesLoaded()) { if (this._parent.ph03.getBytesTotal()>0 && this._parent.ph03.getBytesTotal()<=this._parent.ph03.getBytesLoaded()) { if (this._parent.ph04.getBytesTotal()>0 && this._parent.ph04.getBytesTotal()<=this._parent.ph04.getBytesLoaded()) { this._parent.play(); } } } } else { this._parent.stop(); } } と書いています。 何分ActionScriptはまだまだサンプルの真似事とちょっと手を加える程度の知識しかないもので、上に書いた物もものすごい間違い方をしているかもしれません(恥) 読み込むJPEGファイルは大したサイズではないので、一般的な回線速度なら普通に再生しても読み込みが再生に追いつかないという事もないのですが、先方の指示で絶対に!!全ての画像を読み込み終わるまで再生しないように!!と言われています。 どなたか、どうかお力を貸して頂けないでしょうか。 よろしくお願い致します。

    • ベストアンサー
    • Flash
  • Now Loadingから次のフレームに行かない

    Flash8です。 1フレームに全体のサイズを読み込むスクリプト ------------------------- this.onEnterFrame = function() { nParcent = (_root.getBytesLoaded()/_root.getBytesTotal())*100; if (nParcent == 100) { _root.play(); delete this.onEnterFrame; } }; _root.stop(); ------------------------- と、%を数字で表記するためのスクリプト ------------------------- onClipEvent (enterFrame) { num = Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100); _root.nowloading.percent = num+"%"; } ------------------------- を入れていて、100%読み込んだら次のフレームより開始(再生)したいのですけど、 現状読み込んで(数字も0から100に上がって行って)、100%になった状態でストップして再生しません。 何が足りないのでしょうか? アドバイスお願いします!

  • FLASHのプリロードについて…

    こんにちは。 最近FLASH MXをはじめたばかりの初心者です。 プリロード画面を作ったのですが、全て 読み込むまでに結構な時間がかかってしまいます。 そこで、全部読み込んだ時点で再生、ではなくて ある一定のフレームまでもしくは全体の○%まで 読み込んだら再生を始める、というようにしたいの ですが、そんなアクションはないでしょうか? onClipEvent(enterFrame){ total=_root.getBytesTotal(); loaded=_root.getBytesLoaded(); if(loaded==total){ _root.play();}} 今は↑のように書いています。 ご回答宜しくお願いします。

  • 【読み込み時間orロード画面】

    一番最初に待ち時間に出せる アニメの作り方について質問を投げさせて貰います。 よくある待ち時間画面ですが、 他のサイトを参考にソースをコピーして 動作を確認しておりましたが、 どうしても画面がまっしろなままから 全部読み込んではじめて動くみたいで、 困っております。 1フレーム目にある、 ムービークリップにこのようなソースを書きました。 onClipEvent (load) { stop(); } onClipEvent (enterFrame) { if (100 == Math.floor(_root.getBytesLoaded()/_root.getBytesTotal()*100)) { gotoAndPlay(2); } } 【フレーム2】には、【フレーム3】に飛ぶボタンを用意してます。 一度、【シーン1】ですべてのデーターを読み込んで 【フレーム2】に読み込み完了!と表示させ、 【フレーム3】に飛んで初めて動くようにしたいのですが、 いったい、ロード時間が最初に出てこない理由は なにか、アドヴァイスお願いします。。。

    • ベストアンサー
    • Flash
  • 半分読み込んで再生するプリローダー

    Flashでプリローダーを作成しています。 これまでは100%読み込むとムービーを再生するという、 よくあるタイプのものを使用していましたが、 今回は全体の半分、または指定のバイト数を読み込んだら再生するものにしたいと思っています。 そこで自分でスクリプトを書き換え、試行錯誤してみましたがどうしてもうまくいきません。 【もとのスクリプト(正常に動作します)】 ================================================================== this.onEnterFrame = function() { _root.stop(); nParcent = (_root.getBytesLoaded() / _root.getBytesTotal() )*100; this.nParcent_txt.text = Math.round(nParcent)+"%"; if ( nParcent == 100) { _root.play(); } } ================================================================== 【書き換え後のスクリプト】 ================================================================== this.onEnterFrame = function() { _root.stop(); halfSize = _root.getBytesTotal() / 2; nParcent = (_root.getBytesLoaded() / halfSize )*100; this.nParcent_txt.text = Math.round(nParcent)+"%"; if ( nParcent == 100) { _root.play(); } ================================================================== 書き換えた後の方を実行すると、 200%まで読み込んでムービーがストップしてしまいます。 ActionScript初心者でどこが間違っているのか見当がつかず困っています。 ご回答よろしくお願いします。

    • ベストアンサー
    • Flash
  • 2つのswfファイルをつなげている場合の一括ローディング方法

    お世話になります。 この質問の下の質問で、外部JPGファイル読み込みのローディング方法を質問しておられますが、そこを読んでも、外部swfファイル読み込みの際のローディング方法に応用することが出来ませんでした。 700Kのswfの最後のフレームに、 loadMovieNum("img/next.swf", 0); として、500kのnext.swfファイルとつなげています。 最初のswfファイルの1シーン目で、2つのswfを全て読み込み、再生時のつながりをスムーズにしたいと考えています。 最初のswfの1シーン目に、 ローディングオブジェクトを置き、 onClipEvent (load) { _root.stop(); par = 0; bar._xscale = 1; } onClipEvent (enterFrame) { par = parseInt((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); if (par == 0) { par = 1; } else if (par >= 100) { par = 100; _root.gotoAndPlay("start"); } bar._xscale = par; } ローディングすると、フレームラベル「start」 に飛び、 そのフレームに置いているオブジェクトに onClipEvent (load) { par = 100; bar._xscale = 100; } onClipEvent (enterFrame) { _alpha -= 5; } を書き込んでいます。 そして、2シーン目に飛び、 2シーン目の最後のフレームに、 loadMovieNum("img/next.swf", 0); を置いてつなげています。 FLASH本を数冊持っているのですが、2つのswfを 同時にローディングする方法が載っておらず、 こちらに質問を書かせていただきました。 もしかしたらこの質問の下質問JEPファイルの ローディングと内容がかぶってるかもしれませんが、 よろしくお願い致します。 【制作環境】 Win XP FLAS MX

    • ベストアンサー
    • Flash
  • now loding.......

    onClipEvent (load) { total = _root.getBytesTotal(); } onClipEvent (enterFrame) { loaded = _root.getBytesLoaded(); percent = int(loaded/total*100); text = " "+percent+"%"; gotoAndStop(percent); if (loaded == total) { _root.gotoAndPlay(2); } } と、いうスクリプトが記述されているのですが、すべてダウンロードしないうちに再生してしまい、ナローバンドで見たときに、途中の動きがギクシャクしてしまいます。 このスクリプトをどういじれば解決するのでしょうか? ご教授くだされば幸いです。

  • load Movie() が上手く働かない

    load Movie()を使ってボタンに触れるとFlashの中の指定の場所に 別のFlashを読み込もうとしています。 作成し、単体で再生してみるとそのときはうまく読み込んでくれる のですが、いざブラウザに埋め込んで再生をすると、読み込んで くれていないのか、表示されません。 ローカルで動作させるのが悪いのかと思い、WEBサーバーに UPしてみても変わらず、Flashへの相対パスを絶対パスに変更 もしてみたのですが、変わりありません。 どういったことが原因として考えられるでしょうか。 ▼ボタン側のAC on (rollOver) { _root.mado.loadMovie("0123.swf"); } on (rollOut) { _root.mado.loadMovie("start.swf"); } 何か考えられる原因などがございましたら御教示ください。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービーをクリックしてボタンを動かしたい

    FLASH MX 2004を使っているAction Script初心者です。 動いているb01というボタンをクリックすると、m02というムービーが表示され、b01とm02はストップし、m02をクリックするとm02は消え、b01が再度動き出すということをしたいのですが、b01とm02のストップまではできたのですが、ストップしたb01を動かすことができません。 【b01】 on (release) { _root.m02._visible = true; stop(); } 【m02】 onClipEvent (load) { this._visible = false; } on (release) { _root.m02._visible = false; _root.b01.play(); } いろいろと間違っているかも知れませんが、よろしくお願い致します。

    • ベストアンサー
    • Flash