• ベストアンサー

7秒後にフレーム5へ移動してムービークリップを再生

はじめまして。 FLASH初心者です。 レイヤー1~5の5フレームごとにムービークリップを配置しています。 レイヤー1の1フレーム目に配置してあるムービークリップが再生されて、7秒後にレイヤー2の5フレーム目に配置してあるムービークリップを再生し、(レイヤー3~5も同様に…)レイヤー5に配置してあるムービークリップの再生が終わったら、また7秒後にレイヤー1のムービークリップが再生される…といったように繰り返すにはどのようなActionScriptにすればよいのでしょう? 色々、試行錯誤したのですがうまくいきません。 どなたか教えて頂けませんか? よろしくお願いします。

  • Flash
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です。 すみません。確かに動作が変になりますね。 > レイヤー1のムービークリップを再生→ > レイヤー2のムービークリップを再生→ > レイヤー1のムービークリップを再生…(繰り返す) というのは _root のタイムラインのレイヤーが次のようになっているとする場合ですよね。             1       5  レイヤー2 ・・□|○|●|  レイヤー1 ・・□|●|○|              ⇔            繰り返す 私が書いたスクリプトの順で行くと, フレーム1にあるムービークリップでセットされた setInterval が, clearInterval(); でクリアされる前に, _root.gotoAndStop(2); が実行されて, _root が フレーム2 に移動してしまうので, clearInterval(); が実行されるべきフレーム1のムービークリップが存在しなくなってクリアされないので変なことになってしまうのです。 こういう場合は, 普通のケースとは違って, 先に clearInterval(); を実行して, その後 _root.gotoAndStop(2); を実行しなければなりません。 したがって, フレーム1 にあるムービークリップの最終フレームに書くスクリプトは 次のようになります。 ---------------------------------- stop(); go_2flame = setInterval(function () { clearInterval(go_2flame); _root.gotoAndStop(2); }, 7000); ---------------------------------- フレーム2 にあるムービークリップの最終フレームに書くスクリプトは 次のようになります。 ---------------------------------- stop(); go_1flame = setInterval(function () { clearInterval(go_1flame); _root.gotoAndStop(1); }, 7000); ---------------------------------- つまり,   _root.gotoAndStop(○);   clearInterval(○○);      ↓訂正↓   clearInterval(○○);   _root.gotoAndStop(○); という順の訂正変更です。 失礼しました。

kurumame
質問者

お礼

ありがとうございます。 できました。 親切に教えてくださって、本当にありがとうございます。

その他の回答 (1)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

setInterval を使えば良いと思います。 例えば, フレーム1にあるムービークリップの中のタイムラインの最終フレームをキーフレームにして, そこに次のように書きます。 ------------------------------------ // とりあえず停止 stop(); // setInterval をセット myID = setInterval(function () { // _root のタイムラインをフレーム2に進める _root.gotoAndStop(2); // この setInterval を解除 clearInterval(myID); // 7000ミリ秒(7秒後)に実行 }, 7000); ------------------------------------ > 7秒後にレイヤー2の5フレーム目に配置してあるムービークリップを再生 と書かれていらっしゃいますが, これだと意味がわからないので, → 7秒後にレイヤー2の2フレーム目に配置してあるムービークリップを再生 というように解釈したスクリプトです。

kurumame
質問者

補足

ありがとうございます。 >7秒後にレイヤー2の2フレーム目に配置してあるムービークリップを再生 このように配置しなおして下記のスクリプトを書いてみたら2フレーム目のムービークリップは7秒後に再生されました。 stop(); go_2flame = setInterval(function () { _root.gotoAndStop(2); clearInterval(go_2flame); }, 7000); レイヤー1のムービークリップを再生→レイヤー2のムービークリップを再生→イヤー1のムービークリップを再生…(繰り返す) と、ずっと2つのムービークリップを再生し続けたい時は、レイヤー2 の2フレーム目に配置してあるムービークリップの最終フレームに stop(); go_1flame = setInterval(function () { _root.gotoAndStop(1); clearInterval(go_1flame); }, 7000); と書けばいいのでしょうか? このように書くと、1フレーム目のムービークリップが再生されないで7秒後に2フレーム目のムービークリップが再生されるのです…。 何度も申し訳ありませんが、よろしくお願いします。

関連するQ&A

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

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

    • ベストアンサー
    • Flash
  • Flash フレームを指定してムービークリップ再生

    ActionScript超初心者です。 よろしくお願いします。 ステージ上にボタン「A」「B」「C」を配置、 ボタン脇のスペースにムービークリップを配置、各ボタンで切り替え再生させたいと思っています。 2フレーム目に簡単なアニメーションのムービークリップ「animA」を、 3フレーム目に同様の「animB」4フレーム目に「animC」を配置し、 各ボタンon (release)で各ムービークリップの再生をしたいのですが うまくいきません。 どこにどのようなスクリプトを書けば良いか教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ムービークリップ再生後次のフレームへ移動しません

    アクションスクリプトを使って、テキストが下から上へ流れるようにムービークリップを再生し、テキストが流れ終わったところで次のフレームへ移動させたいのですが、フレームが移動せず困っています。 スクリプトは色々なところで調べて、やっとの事で下記のように書きました。 使用しているのは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
  • ムービークリップ再生順序 制御について

    はじめて質問します。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
  • ムービークリップ内に配置した別のムービークリップの再生

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

    • ベストアンサー
    • Flash
  • ムービークリップの自動切り替え方法

    久しぶりにFLASHを触った初心者です。 シーン1の1フレにムービークリップを配置し、その1フレのムービー(10秒程度)が終わったらシーン2の2フレに配置したムービークリップが自動再生されるようなアクションスクリプトを考えています。例えばムービークリップの最後にgotoAndPlay(); など入れたりと試してみましたがうまくいかず困っています。 どなたか良い方法が無いか教えてください。 ※現在AS2.0を使って作成しています。

  • Flashでムービークリップのランダム表示

    ActionScript初心者で過去ログを探してみたりもしたのですが、(探し方自体がヘタなのかもしれませんが(^_^;)・・・)わからなかったもので。 下記のFlashムービーで画面右半分に表示されている減速&加速して画面上を流れる球体のようなムービーを制作する場合。 http://www.kips-ps.com/main/ 例えば10数種類程度の下から上へと流れる、フレーム数の異なるモーショントゥイーンを含むムービークリップを作成して、それぞれをレイヤーに配置するーというような作業だけでできるのでしょうか? それともActionScriptからMCの表示・動作を制御したりしないと、それっぽく見えないものなのでしょうか? 質問そのものが拙い内容であるようにも思うのですが、よろしくお願いいたします。

  • 50秒後に2フレームへ行き再生開始

    50秒後に2フレームへ行き再生開始 1フレーム目に「50秒後に2フレームへ行き再生開始」 というスクリプトを書いて動作させたいのですが、調べても分からず大変困っております。。 1フレーム目にflvを置いているので、 flvの再生が終了したら(flvが45秒程度なので50秒後に)2フレーム目に行きその後の動きをさせたいと思います。 お分かりになる方ご教授いただきたいと思います。 よろしくお願いします。 環境はWin XP、Flash CS3、actionscript3、flash player9です。

  • ムービークリップの止め方

    ActionScriptでわからない部分があるので質問させていただきます。 ↓状況説明 1フレーム目にActionScriptで、ムービークリップが画面上をひたすら動き回る設定をします。 それとは別に背景などはフレーム単位で動かしています。 その後、100フレームになったらムービークリップのみ止めて(消して)、背景のみ動かして200フレームまで続行したいのです。 しかし、stopだと背景が止まってしまい、止めたいはずのムービークリップは動いたままの状態になってしまいます。 この場合は、どの部分にどんな命令を入れれば止める(消す)事が出きるのですか? お手数ですが、どうぞよろしくお願い致します。

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

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

専門家に質問してみよう