• 締切済み

外部swfファイルの指定フレームでムービーを止めたい

Flash MXを使用しています。 外部ファイルを読み込んで、指定のフレームでムービーを止めるには どのような指示をすれば良いのでしょうか? ちなみに今は外部ファイル側に止めたい所にフレームラベル(stop)を付けて 読み込む側のMCに止める指示を書いています。 onClipEvent (unload) { gotoAndStop("stop"); } このように指示しても結局最終フレームまで読み込んでしまいます。 初心者です。よろしくお願いいたします。

みんなの回答

noname#35109
noname#35109
回答No.1

何がされたいのか今ひとつはっきりしませんので, 勝手に予想をして書いておきます。 メインムービーの「load_01」というインスタンス名のMCに「aaa.swf」をロードした場合で書きます。 ---方法1(aaa.swfから自分自身の制御)--- ◎場合1 自分自身をアンロード 「aaa.swf」に自分自身をアンロードしたいフレームにスクリプトを書く。 --------------------------------- unloadMovie("_root.load_01"); --------------------------------- ◎場合2 自分自身をストップ 「aaa.swf」に自分自身を止めたいフレームにスクリプトを書く --------------------------------- stop(); --------------------------------- --方法2(メインムービーからaaa.swfの制御)-- 「load_01」ムービークリップにロードされている「aaa.swf」のフレーム数を取得  ↓ もし30フレーム以上になれば,アンロード(orストップ)させる。 という流れです。 「flm_no」は勝手に決めた変数名で, 「flm_no」に「load_01」のフレームNoが入って行き, 「flm_no」に30以上が入ると,アンロード(orストップ)が実行されます。 MCを増やすのも手間なので,下のスクリプトは「load_01」自体にムービークリップアクションとしてかけば良いです。 ◎場合1 aaa.swfをアンロード --------------------------------- onClipEvent (enterFrame) { flm_no = _root.load_01._currentframe ; if (flm_no >= 30) { unloadMovie("_root.load_01"); } } --------------------------------- ◎場合2 aaa.swfをストップ --------------------------------- onClipEvent (enterFrame) { flm_no = _root.load_01._currentframe; if (flm_no>=30) { tellTarget ("_root.load_01") { stop(); } } } --------------------------------- とにかく,アンロードしたいのかストップしたいのかわからないうえ,何処から何を制御したいのかわからなかったので, それぞれについて,書きました。

shijimi405
質問者

お礼

分かりにくい記述ですみませんでした・・ 詳しくご説明いただき、ありがとうございました! これからはちゃんと勉強してもっと詳しく説明できるようにします! じゃなくてここに書き込まなくて済むように頑張ります! 実は時間がなく、全く違う方法で解決させてしまいました。。 sassakunさんに教えていただいた事は今後の参考にさせていただきます。 ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 外部swfのフレームを指定して読み込み

    あるムービークリップ(mc1とします)に外部swf(001.swfとします) を読み込むことはできるのですが、 mc1に001.swfを読み込み、001.swfの50フレーム目から再生ということは可能でしょうか。 いろいろと調べたのですが、どうしてもうまくいきませんでした。 ボタンを作りボタンを押したら読み込み50フレーム目から再生という指示を書いたのですが、、、 on (press) { _root.mc1.loadMovie("top.swf"); _root.mc1.gotoAndPlay(50); } 1フレーム目から再生されてしまいます。

  • 外部swfの読込について

    1枚のFlashに二つの外部swfを読み込む方法を教えて下さい。 今参考書を見ながらやってみたのですが外部ファイルが読み込まれていないようで 書き出したswfファイルには何も表示されません。 試した方法ですが・・・ 外部swfファイル読込用ムービークリップを作成、 オブジェクトアクションを挿入 --------------------------------- onClipEvent (load) { function Load (file) {  this.loadMovie (file);   } } --------------------------------- フレームを作成し下記アクション挿入 --------------------------------- contents_mc.Load("about.swf") --------------------------------- 使用ソフトはFlash5です。 どうぞ宜しくお願いします。

    • ベストアンサー
    • Flash
  • loadMovieで外部swfの読込みについて

    現在、外部swfを連続で再生させるフラッシュを作成中です。 以下の方法で実現しています。 ------------------------------------------------- 親SWFの_rootに,例えば「loadMC」というインスタンス名のムービークリップを作ります。 このMCは小さくて透明のMCか,中に何も入っていない空のMCが良いと思います。 そして,親SWFのフレームのスクリプトに _root.loadMC.loadMovie("movie1.swf"); と書けば,「loadMC」というインスタンス名のムービークリップに「movie1.swf」が読み込まれます。 またはボタンにスクリプトを書いて,ボタンで読み込みをさせても良いです。 そして,「movie1.swf」の最終フレームに, _root.loadMC.loadMovie("movie2.swf"); と書いておきます。これで同じ「loadMC」に「movie2.swf」が読み込まれます。 同じ所に新たなムービーを読み込むと自動的に前のムービーは unload されるので, unloadMovie(); は必要ありません。 「movie2.swf」の最終フレームには _root.loadMC.loadMovie("movie3.swf"); 「movie3.swf」の最終フレームには _root.loadMC.loadMovie("movie4.swf");   …  … ------------------------------------------------- 作成後のプレビュー又はswfをダブルクリックなどで直接表示させると正常に表示されます。 しかし、HTMLに埋め込むと真っ白な状態でまったく表示されません。 調べているのですが原因がわかりません。 どなたかご教授のほど宜しくお願い致します。

    • ベストアンサー
    • Flash
  • 外部swfのラベル移動

    FLASH MX2004で作成しています。 main.swf上のload_mcのレベル0に、外部swfのA.swfを読み込んでいます。 #main上のフレーム this.load_mc.loadMovie("A.swf", 0); A.swfが終わると同時に、main.swf上のload_mcのレベル1に、外部swfのB.swfを読み込みます。 #A.swfの最終フレーム stop(); _root.load_mc.loadMovie("B.swf", 1); ここまではできています。 その後、B.swf内のcontentsというMC内のラベルをlabel2に移動させたいのです。 #A.swfの最終フレーム stop(); _root.load_mc.loadMovie("B.swf", 1); _root.load_mc.contents.loadMovie("label2"); これができません。 _root.load_mc.contents.loadMovie("label2"); _root.contents.loadMovie("label2"); _root.load_mc.loadMovie("label2"); load_mc.contents.loadMovie("label2"); contents.loadMovie("label2"); なども試してみましたが、うまくいきません。 わたしの頭ではこれが限界です。 ぜひともお力お貸しください!

  • ムービークリップの中フレーム移動を「キーボード」で行いたい!

    FLASH初心者なのですが、ちょっとしたクイズを作らなくてはいけなくて ActionScriptに挑戦しています。 rootにひとつのMCがあります。 このMCのタイムラインにはフレームが7個あり このフレームの移動を「Spaceキー」で動かしたいため rootのタイムラインに下記のようなscriptを書きました。 ------------------------------------- onClipEvent (enterFrame) { this.gotoAndStop(1); if (Key.getCode() == Key.SPACE){ this.gotoAndStop(2); } } ------------------------------------- このコードで「スペース」を押すと1フレームから2フレームへの 移動はできましたが、「スペースを押すたびに次のフレームにいってほしくて、 フレーム7ではストップしてほしい」という動作をさせるためには どうしたらいいのでしょうか? loopとかif...else if...などの構文がよくわからないなりに 試したのですが、うまくいきませんでした。 分かられる方助けてください、よろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部ムービー読込み後 AS が動きません

    どなたかお教え下さい。 _root上のMCに外部swfを読み込んだとします。 その読み込まれたswf上のムービーの途中でASでストップstop();、を 入れて途中で一度とめるようにしてありますが、止まりません。 プログラムの知識がないのでずっと悩んでいます。 よろしくお願いいたします。 ■現状■ set_mcという名のMC上に、同じ階層にある01.swfを読み込む。 現在テスト用に、読み込む側は読込みだけ、読み込まれる01.swfは 10フレーム中の5フレーム目にキーフレームをつくり アクションで this.stop(); とだけ書いてあります 読込み側 _root.set_mc.loadmovie("01.swf"); _root.set_mc._lockroot = true; 読み込まれた01.swfの5フレーム目 this.stop(); ------------------------ 01.swf のみならばちゃんと止まるのですが読み込まれると とまりません。非常に初歩的なことかもしれませんが、 どうかよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • FlashMX:外部swfから大元のswf上の指定フレームへ移動させる

    FlashMX:外部swfから大元のswf上の指定フレームへ移動させるには? Flash MX、Windows Vistaです。 大元のswf上で、小さな写真兼その拡大ボタンを20個ほどつくろうとしています。 ●大元swf・・・main.swfとします。 ●大写真Aswf・・・・photo-a.swfとします。 main.swfの小写真ボタンAをクリックすると、 ・レベル1に外部swfとしてphoto-a.swfを読み込み ・main.swfで、拡大ボタンを消さなくてはならないので、停止フレームの直後にボタンだけを消したフレームをつくり、そこにgotoStopさせた そして、photo-a.swfでムービーがひととおり終わったのち、「戻る」ボタンを用意しており、それをクリックすると、 ・直後の「back」というフレームラベルにgotoさせ、だんだん写真が消えていくるトゥイーンをさせたあと、最後のフレームに ------------------------------------------------------ unloadMovieNum(1); mc-menu00.gotoAndPlay("btn_on"); ------------------------------------------------------ と記述しました。 意図は、 (1)今ロードしていたphoto-a.swfを消すこと (2)main.swfのフレームを、拡大ボタンが出現しているひとつ前のフレームに戻す ですが、(2)がなりません。 どのように記述すれば、photo-a.swfからmain.swf上の指定フレームラベルへ移動させることができるでしょうか?

    • ベストアンサー
    • Flash
  • 外部ファイルのフレームラベルにリンクをさせたい。

    こんにちわ。 色々、探してみましたが、頭がこんがらがってしまい、時間ばかりが過ぎて行くので質問させていただきます。 外部ファイルのフレームラベルにリンクをさせたいのですが、どなたかご存じの方ご教授ください。 flame.swfを読み込んだときは自動的にcontents1.swf→contents2.swfと進み、ボタンをクリックすると 指定されたフレームラベルにリンクさせたいのです。 色々試してみたのですが、うまく外部ファイルが読み込めなかったりボタンが機能しない状態です。 flame.swf contents1.swf contents2.swf flame.fla  kazari   ボタンの飾りグラフィクが置いてある。  button1-1 1-1(contents1.swf内1-1フレームラベルにリンクするボタン)  button1-2 1-2(contents1.swf内1-2フレームラベルにリンクするボタン)  button2-1 2-1(contents2.swf内2-1フレームラベルにリンクするボタン)  button2-1 2-2(contents2.swf内2-2フレームラベルにリンクするボタン)  mytarget mytarget(movie clip。ここにcontents1.swfもしくはcontents2.swfを読み込ませる) 1 フレーム目のアクションスクリプトに stop(); button1-1のボタンスクリプトに on (release) { gotoAndPlay("1-1"); /コメント:フレームラベル1-1にボタン飾りがあるため同じシーン内の「1-1」に行くように/ } 1 フレーム目のmytargetアクションスクリプトに onClipEvent (load) { loadMovieNum("contents1.swf", 1); } フレームラベル1-1のmytargetアクションスクリプトに onClipEvent (load) { this.mytarget.loadMovie("contents1.swf" , 1); flg='contents1.swfのフレームラベル'; } contennts1(2).fla 1フレーム目のアクションスクリプトに stop(); gotoAndPlay(flg); 環境:Max OS 10.3.6 Flash8

    • ベストアンサー
    • Flash
  • 外部ムービー再生終了後、特定のラベルへ飛ぶ

    外部ムービー再生終了後、特定のラベルへ飛ぶ 質問させていただきます。 制作環境はAS2.0 FlashCS3 やりたいことは親swfに外部swfムービーを読み込んで 外部ムービーの再生が終わったら、親swfの特定のラベルに飛ぶ、というものです。 親swfの1フレーム目に書き込んだスクリプトは・・・ this.stop(); this.movie.loadMovie("movie1.swf"); if ( movie._currentframe == movie._totalframes ) { this.gotoAndStop("next"); } しかし、いきなりnextラベルに飛んでしまいます・・・ 宜しくお願い致します。

  • 重たい外部swfのプリロード

    空のmcをステージにおき、そのフレームに、loadMovie();で外部のswfを読み込むまでは、出来るのですが、その外部swfが重い場合なので、プリロード(%)表示させたいのですが、どの場所にどういったscriptが、必要ですか? onClipEvent (data)ハンドラで外部ファイルのロードを待つとかのscriptを書いてるのですが、間違っているのでしょうか?