OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

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

  • すぐに回答を!
  • 質問No.159832
  • 閲覧数262
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 28% (43/151)

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

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

  • 回答No.2
レベル13

ベストアンサー率 85% (666/776)

こんばんは。
シーン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

お礼率 28% (43/151)

DPEさん、誠にありがとうござました!!!それにしても・・・ActionScriptを勉強しなくては・・・。わかりやすく解説していただき、とても助かりました。感謝感激です!!!!!
投稿日時 - 2001-10-31 09:32:52
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル13

ベストアンサー率 85% (666/776)

まず確認させていただきたいのですが・・・ 例えば、movieAが2フレーム、movieBが3フレームでできているムービークリップだとします。 Aの2フレームを再生した後、Bの3フレームを再生したい・・・ということでしょうか? そういうことでしたら、メインのムービーで  1.フレーム1にキーフレームを設定し、movieAを置く  2.[フレームの挿入]で1フレーム挿入する  3.フレーム3に ...続きを読む
まず確認させていただきたいのですが・・・
例えば、movieAが2フレーム、movieBが3フレームでできているムービークリップだとします。
Aの2フレームを再生した後、Bの3フレームを再生したい・・・ということでしょうか?
そういうことでしたら、メインのムービーで

 1.フレーム1にキーフレームを設定し、movieAを置く
 2.[フレームの挿入]で1フレーム挿入する
 3.フレーム3にキーフレームを設定し、movieBを置く
 4.[フレームの挿入]で2フレーム挿入する

つまり、ムービーでムービークリップを再生するフレーム数を、AやBの総フレーム数と同じにするわけです。

編集画面でムービーを再生するとムービークリップの1フレーム目しか再生されず、一見すると正常に動いていないように見えますが、[ムービーのプレビュー][シーンのプレビュー]等ではムービークリップ内のシーケンスも再生されますので、期待通りに動いているか確認してみてください。
お礼コメント
Mohican

お礼率 28% (43/151)

DPEさんありがとうございます。おっしゃる通りにやってみたのですが、また新たな疑問が・・・
詳しく言いますとこのようにしたいのです。

シーン1 ボタンを配置→クリックしてGotoAndPlayでシーン2へ

シーン2 movieAを再生→もう一度movieAを再生→ストップ→
      →ボタンを押す→movieBを2回再生→シーン1に戻る

DPEさんの通りにやってみましたが、movieAのフレーム数と同じにして配置すると、今度は延々とムービーがループされstopでも止めることができません・・・。上記のようにするのに、なにか良い方法はありませんか?どうかお知恵をお貸し下さい。よろしくお願い致します。
投稿日時 - 2001-10-30 16:24:41

このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ