flashのムービークリップの制御方法について

このQ&Aのポイント
  • フレーム1のムービーを再生した後に、自動的にフレーム2のムービーを再生させる方法について教えてください。
  • GotoAndPlayを1フレーム目に設定すると、フレーム2に直接遷移してしまいます。ムービークリップに設定しているstopが原因でしょうか?他に解決策はありますか?
  • 掲示板での回答では解決せず、初歩的な質問かもしれませんが、どうすればよいか教えてください。
回答を見る
  • ベストアンサー

flash の ムービークリップの制御

 フレーム1にムービークリップmovieAがフレーム2にmovieBがあります。それぞれのムービーには連続して再生されないように、フレームの最後にstopを設定してあります。  フレーム1のムービーを再生した後に、ボタンなどを使わずに自動的にフレーム2のムービーを再生させたいのですが、一体どうすればよろしいのでしょうか?GotoAndPlayを1フレーム目に設定すると、movieAを再生せずに2フレーム目に行ってしまいます。それぞのムービークリップに設定しているstopがいけないのでしょうか?何かいい解決策はありますか?フラッシュ用の掲示板でお答えいただいたのですが、それでは解決せずこちらでお伺いすることに致しました・・・。(初歩的すぎてこれ以上聞きにくいし・・・泣)よろしくお願い致します。

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

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.2

こんばんは。 シーン1からシーン2へ移るのはいいとして・・・ つまり、Aを2回再生した後、Aを止めてボタンが押されるまで待ち、Bを再生したい・・・ということでいいのでしょうか? ムービークリップをループさせたい回数が決まっているなら、基本的に  (ムービークリップの総フレーム数xループ回数) フレームだけ、メインのムービー側でムービークリップを再生すればいいと思いますが... 例によってmovieAが2フレーム、movieBが3フレームでできているムービークリップ、そしてボタンCがあるとしましょう。 1つのレイヤーで管理しようとするとややこしくなるので、A・B・Cをそれぞれ専用に再生するレイヤーと、もう1つ、フレームの流れを制御するレイヤーを作っておくと便利です。 テキストだけで書くと分かりにくくて申し訳ないのですが、   Aを2回再生→Aをストップ(最終フレームを表示させておく)→ボタンが押されるまで待つ→Bを2回再生→シーン1へ戻る という制御を、ざっと次のように考えてみましたが、いかがでしょう? (プロポーショナルフォントだと位置がズレてしまいますので、固定幅フォントで表示してご覧下さい) (Frame) 1 2 3 4 5 6 7 8 9 10 11 12 13 制御用 - - - - - a - - - - - - a  A  ● → → → ● → - - - - - - -  B  - - - - - - ● → → → → → -  C  - - - - ● - - - - - - - -        ●はキーフレーム、→は全く変化しないフレーム、-は何も置かない空白のキーフレーム、aはフレームにアクションを設定することを表しています。 「制御用」レイヤーのフレーム6には前のフレームに戻るアクション「prevFrame();」、フレーム13にはシーン1に戻るアクション「gotoAndPlay("シーン1",1);」を設定します。 しかし、これではフレーム6から先に進まなくなってしまいますよね。 そこで、フレーム5に配置したボタンCのインスタンス(フレームではありません)に、ボタンが押されたらフレーム7にジャンプするアクションを記述するわけです。 ボタンが押されたらフレーム7に・・・というアクションは、    on (release) {     gotoAndPlay (7);    } 「A」レイヤーのフレーム5のキーフレームは、ボタンを表示している時にmovieAが表示されなくなるのを防ぐためのものです。(ボタンとmovieAが同時に表示される必要がない場合は削除して下さい) ここに置かれているmovieAのインスタンスに、次のようなアクションを設定して下さい。    onClipEvent (enterFrame) {     gotoAndPlay (2);           ↑クリップの最終フレーム番号です    } こうしておけば、ボタンが表示されている間もmovieAの最終フレームが再生され続け、止まっているかのように見せることが出来ます。 長くなりましたが、お役に立ちましたでしょうか? 私もFlashを始めて間もない人間なんで、もしかしたら、もっとスマートな方法があるのかもしれません ^^; 何かの参考になれば幸いです。

Mohican
質問者

お礼

DPEさん、誠にありがとうござました!!!それにしても・・・ActionScriptを勉強しなくては・・・。わかりやすく解説していただき、とても助かりました。感謝感激です!!!!!

その他の回答 (1)

  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

まず確認させていただきたいのですが・・・ 例えば、movieAが2フレーム、movieBが3フレームでできているムービークリップだとします。 Aの2フレームを再生した後、Bの3フレームを再生したい・・・ということでしょうか? そういうことでしたら、メインのムービーで  1.フレーム1にキーフレームを設定し、movieAを置く  2.[フレームの挿入]で1フレーム挿入する  3.フレーム3にキーフレームを設定し、movieBを置く  4.[フレームの挿入]で2フレーム挿入する つまり、ムービーでムービークリップを再生するフレーム数を、AやBの総フレーム数と同じにするわけです。 編集画面でムービーを再生するとムービークリップの1フレーム目しか再生されず、一見すると正常に動いていないように見えますが、[ムービーのプレビュー][シーンのプレビュー]等ではムービークリップ内のシーケンスも再生されますので、期待通りに動いているか確認してみてください。

Mohican
質問者

お礼

DPEさんありがとうございます。おっしゃる通りにやってみたのですが、また新たな疑問が・・・ 詳しく言いますとこのようにしたいのです。 シーン1 ボタンを配置→クリックしてGotoAndPlayでシーン2へ シーン2 movieAを再生→もう一度movieAを再生→ストップ→       →ボタンを押す→movieBを2回再生→シーン1に戻る DPEさんの通りにやってみましたが、movieAのフレーム数と同じにして配置すると、今度は延々とムービーがループされstopでも止めることができません・・・。上記のようにするのに、なにか良い方法はありませんか?どうかお知恵をお貸し下さい。よろしくお願い致します。

関連するQ&A

  • 【flash】ムービークリップ内のフレームへのジャンプ

    flashの初歩的な質問で申し訳ないのですが、 ムービークリップ内でgotoが効きません。 「sumple」というムービーシンボルの中に配置したボタンシンボルを押し、 同じ「sumple」の中に名づけてある「a」というフレームに飛びたいのですがどうすればよろしいのでしょうか? 現状、ボタンを押したら行き先がわからないのか頭に帰ってきます。 アクションは on (release) { gotoAndPlay("a"); } です。 どこに何を足したら…いいんでしょうか… よろしくお願いします

  • flashでムービークリップ後のフレーム移動

    FLASH初心者です。 ムービークリップでムービーを作ったのですが、シーン1に配置するとなぜかうまく動いてくれません。 何が悪いのか検討がつかない。 1フレームに入れたのですが、ちゃんとアクションで stop入れているし・・・。 2フレーム以降、色々ムービーを作っています。 新規作成で新しいflashにそのムービークリップを配置したらなぜかちゃんと再生してくれるのです。 原因が全く分からなくて困っています。 あと、そのムービークリックが一度終了した次点自動的に次のフレーム(2)へ移動してムービーを再生して欲しいのですが、どうすればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • flash5でムービーの制御

    2つのボタン(A,B)とそれぞれに対応したムービー(A,B)を用意しました。ボタンAにマウスカーソルを重ねるとムービーAが開始され、ボタンBにマウスカーソルを重ねるとムービーBを開始するというものを作りました。 しかし、ボタンAにマウスカーソルを重ね、ムービーAの再生中にボタンBにマウスカーソルを重ねるとムービーBが開始されるのですが、ムービーAが再生中でも消えてしまいます。この時、ムービーAを最後まで再生させたい場合はどのようにしたらよいのでしょうか? タイムライン上ではムービーAをフレーム1、ムービーBをフレーム2と連続して配置し、ボタンA,Bにマウスを重ねたときそれぞれのフレームにgotoAndPlayを指定しています。 よろしくお願いします。

  • ムービークリップ内のムービークリップ制御について

    誠に不勉強の段お許しください。 Flashでサイトを製作しているのですが、どうしても分からず投稿させていただきました。 仮に -rootにボタンとAムービークリップ配置しました。 また、Aムービークリップ内の10フレー目にBムービークリップを配置し、Bムービークリップ内にボタンを配置しています。 _rootのボタンからAムービークリップを制御して10フレーム目のBムービークリップを表示はできるのですが、-root上でAムービークリップのBムービークリップ内のボタンでBムービークリップを制御するのにはどうすればよろしいのでしょうか。 なにとぞご教授いただけましたら幸に存じます。

  • ムービークリップ内に配置した別のムービークリップの再生

    こんばんは。 ムービークリップ内に配置した別のムービークリップを ボタンを押したときに常に1フレーム目から再生するように させたいのですが。一度読み込んでしまったら 最初に戻すことができません。 どうしたらいいのでしょうか? on(release){ French.gotoAndPlay(1); } とかしてみたけど駄目でした。 初心者で申し訳ありませんがよろしくお願いします。

    • ベストアンサー
    • Flash
  • ムービークリップ再生順序 制御について

    はじめて質問します。Flash初心者ゆえつたない説明ですいませんが、よろしくお願いします! Flash:ActionScript2.0 [現状] メインフレームにABCというムービークリップを配置しています。 それぞれ「mc1」「mc2」「mc3」というインスタンス名がついています。 各ムービークリップにはそれぞれ動きが設定しており、”moving”というフレームラベルをつけています。 [どう動作してほしいか] まずAのムービークリップが再生。Aのムービークリップ再生終了。 ↓ Bのムービークリップ再生開始。Bのムービークリップ再生終了。 ↓ Cのムービークリップ再生開始。Cのムービークリップ再生終了。 ↓ Aに戻る。 上記の動きをタイムラインを利用するのではなく、メインフレームに1つactionScriptを書くことで動作させるにはどうしたらいいでしょうか? ちなみに今は以下のように記述しており、実行すると3つのムービークリップが全て同時に動いてしまいます。 var list:Array = new Array(); for(var i=1; i < 4; i++) { var mcname = "mc" + i ; list[i] = eval(mcname); list[i].gotoAndPlay("moving"); } よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービークリップの制御

    ムービークリップの制御に関してですが・・ 組み込んだムービークリップを、メインフレームから制御したいと思っています。 任意の位置で停止させたいのですが、gotoandstopでは、そのフレームまでジャンプしてしまいます。 「任意のフレームまで再生する」、といった制御はできないでしょうか? mc内に、if文にてstopを組み込む方法では、一回目の再生で停止せず、二回目の再生で止まる・・といった現象に悩んでいる為、メインフレームから停止フレームが指定できるような制御があればいいのですが・・ お手数ですが、良い方法をご存知の方がおられましたらお願いいたします。

  • 【AS3】ムービークリップからステージへアクセスできません

    はじめまして。FlashでAction Script3.0を勉強し始めたばかりの初心者です。 実は、AS3でどうしても不明な部分があり この度問い合わせさせていただいております。 AS2では_rootでステージにあるムービークリップにアクセスできたかと思うのですがAS3では代わりのものはあるのでしょうか。 現在ステージ上にいくつかムービークリップを置いて、 それぞれのムービークリップ最後のタイムラインに、 「root.gotoandPlay("scene1")」というように記述して、 ステージにもどり、そのフレーム名から始めたいのですが(この場合、scene1というステージ上のフレームから再生させたい) 「未定義である可能性のgotoAndPlayメソッドを静的型flash.display:DisplayObjectContainerの参照を使用して呼び出しました」というエラーになってしまいます。 外部クラスなどは使用しておらず、 ライブラリに格納してあるムービークリップをステージに配置し、 初めのムービークリップを再生したら、次のムービークリップを再生、、というふうに順々に表示させていきたいのですが・・ アドバイスをいただけると大変助かります!! よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • AS2.0 ボタン化したムービークリップを途中で変更

    AS2.0で困っています。 ●現在、ムービークリップ「color1」内のフレームに【_up】【_over】【_down】とラベルを作って、ボタンにしています。 ムービークリップ「color1」自体には、[on(release){}]と記述しています。 (ボタンとして機能しています。) そこまではよかったのですが、 ムービークリップ「color1」の【_down】ラベルのあとに【playing】というフレームラベルを作って、【playing】ラベルのアニメーションを再生したいと思ったら、できませんでした。 ○【_down】のスクリプトレイヤーに、gotoAndPlay("playing"); と記述しましたが、全く動きません。 初歩的な質問で大変申し訳ないのですが、 どのような構造にすれば、【_down】から【playing】レイヤーを再生できますか? よろしくお願いいたします。

  • ムービークリップ再生後次のフレームへ移動しません

    アクションスクリプトを使って、テキストが下から上へ流れるようにムービークリップを再生し、テキストが流れ終わったところで次のフレームへ移動させたいのですが、フレームが移動せず困っています。 スクリプトは色々なところで調べて、やっとの事で下記のように書きました。 使用しているのはFlash MX 2004 です。 |○  □|○|  ←1.スクリプトレイヤー |●    □|  ←2.ムービークリップレイヤー |○|●→|●|  ←3.ムービークリップ後に再生したいレイヤー 1.のスクリプト(2つのキーフレームいずれとも) stop(); 2.のムービークリップのスクリプト onClipEvent (load) { spd =5; onClipEvent (enterFrame) { this._y = this._y-spd; if (this._y<=-10) { spd = 0; gotoAndPlay(2); } } 知り合いにお見舞いのメッセージをと思って作ったのですが、送ることが出来なくてとてもあせっています。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう