nextFrameで最後のフレームの後先頭に戻る

このQ&Aのポイント
  • フォトギャラリーを作製中に、ムービークリップ内のフレーム移動する方法を探しています。
  • nextFrameを使用して10フレームを移動した後、先頭のフレームに戻る方法を知りたいです。
  • prevFrameを使用して1フレームまで移動し、再び押すと10フレームに移動できるようにしたいです。
回答を見る
  • ベストアンサー

nextFrameで最後のフレームの後先頭に戻る

FLASH8 AS2.0 先ほど質問を自己解決しながら、 すぐに壁に当たってしまいました; 度々申し訳ありません。 現在フォトギャラリーを作製していまして、 以下のASでムービークリップ内のフレーム移動することが出来ました。 on (release) { _root.main.nextFrame(); } 例えばムービクリップ内の10フレーム全てnextFrameで移動した後、 もう一度ボタンをクリックするとムービークリップ内の先頭(1フレーム目)に 戻るにはどうしたらよいのでしょうか。 また、同様にprevFrameを用いて1フレーム目まで移動し、 もう一度押すと10フレーム目に移動できるようにするにはどうしたらよいでしょうか。 どなたか分かる方教えて頂けないでしょうか。 宜しくお願い致します。

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

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

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

次のように書けばできると思います(コピペ可能)。 ------------------------------------------ // 次へボタンクリック時 on (release) { // もし main の現在表示フレームが最終フレームであれば if (_root.main._currentframe == _root.main._totalframes) { // main を フレーム1 に戻す _root.main.gotoAndStop(1); } else { // それ以外は main を次のフレームに進めて停止 _root.main.nextFrame(); } } ------------------------------------------ ------------------------------------------ // 戻るボタンクリック時 on (release) { // もし main の現在表示フレームが フレーム1 であれば if (_root.main._currentframe == 1) { // main を 最終フレーム に進めて停止 _root.main.gotoAndStop(_root.main._totalframes); } else { // それ以外は main を前のフレームに進めて停止 _root.main.prevFrame(); } } ------------------------------------------

chinka
質問者

お礼

BlurFiltanさん> 上記のやり方で解決することが出来ました。 ありがとうございました。

関連するQ&A

  • 【新】超初心者です。思うように動いてくれません。

    たびたび申し訳ありません。勘違いがありましたので再投稿いたします。 下記の同タイトル質問はご放念ください。 「シーン1」にムービークリップ「MC01~10」を作成し、MC01から順に再生してゆくFLASHを作成しています。 それぞれのムービークリップの中に早送りボタン配置し、これを押すと次のムービークリップの指定したフレームに移動して再生してほしいのですが、思うように動いてくれません。 _root.mc##.gotoAndPlay(*); もダメでしたし、 _root.nextFrame(*); もダメでした。 (*=該当フレームの数) _root.nextFrame(); で指定すると、次のムービークリップの一番初めから再生はしてくれるのですが、 そのムービークリップ内の指定したフレームから開始したいのです…。 (そもそも、_root.nextFrame(*);が正しいのかどうかもよくわかっていません…) 使用しているのはAdobe Flash CS3 Progessional、Vistaにて作業しています。 まったくの初心者のため、説明不足・意味不明な表現がありましたらご指摘いただければと思います。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Flash タイムライン上のMCへの移動

    おたずねします。 タイムラインの5フレームにあるムービクリップAを再生後、 タイムラインの2フレームにあるムービクリップBの 特定のフレームへ移動したいのですが、 パスの指定がうまいきません。 2フレームへの移動は _root.gotoAndPlay("2フレームのラベル名")で 移動できますが、そこに配置されたムービークリップの指定は どうすればいいのでしょうか。 _parentやthisを使用した 絶対パスや相対パスを調べましたが、どうもこの指定は 同フレーム上にある場合の指定のようなのかうまくいきませんでした。 それともこのような移動はできないのでしょうか。 教えていただけると大変助かります。 どうぞよろしくお願いいたします。

  • 変数のフレーム間の移動

    ムービークリップ内に作ってある変数をフレームを移動してでも呼び出して使えるようにしたいのですが _root.ムービクリップインスタンス.変数名 だとできないです。 どうすればできるのでしょうか? 教えてください

  • 【action script】複数のMCを・・・

    環境:Flash8 actionscript2.0 10こ程度のムービークリップをそれぞれクリックした時に同じ動きをさせる文を1つにまとめることは可能でしょうか? ムービークリップそれぞれに mc1 mc2 mc3 …mc10 とインスタンス名をつけています。 さらにその下位層に mc1  └kai_mc mc2 └kai_mc ・ ・ ・ mc10 └kai_mc と置いています。 このそれぞれのムービークリップをクリックした際、その下位層のムービークリップを次のフレームに移動させたいと考えています。 それぞれ個別に書くと _root.mc1.onRelease=function(){ _root.mc1.kai_mc.nextFrame() } と書いていたのですが、ムービークリップの数を増やすかも知れずムービークリップの数分書くのは大変なので1つにまとめたいと考えています。 自分で以下のように書いてみました。 i=0 for(i=1; i>10; i++){ _root["mc"+i].onRelease.function(){ _root["mc"+i].kai_mc.nextFrame() } } うまくいかないので試行錯誤したりtraceで調べたりしたのですがどうもよくわかりません。 i=0 for(i=1; i>10; i++){ _root["mc"+i].onRelease.function(){ trace(i) } } で出力すると 11と表示されるのでpassが違うとは思うのですが・・・ iを1~10で指定しているのになぜ11となるのでしょうか? どうすればpass指定できるのでしょうか? そもそものやり方、考え方が違うかどうかも含め、教えて頂きたく質問しました。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ムービークリップの領域をシェイプの形状にしたい

    よろしくお願い致します。 ムービークリップにマウスオーバーするとムービークリップが再生し、マウスアウトすると逆再生するというものを作っています。 ここで、ムービークリップのマウスオーバーする領域を矩形ではなく、見たままの形(シェイプの形状)だけに指定するにはどうすれば良いでしょうか? 現在の状況は、マウスオーバーさせるムービークリップに onClipEvent (load) { this.stop(); } onClipEvent (enterFrame) { if (this.hitTest(_root._xmouse, _root._ymouse, false)) { this.nextFrame(); } else { this.prevFrame(); } } のアクションを書いています。 自分なりに調べたところ、「shapeFlag?というものを使うらしい?」というのは分かったのですが、どう使えば良いのかさっぱり分かりません・・ どなたかご指導頂けないでしょうか。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Flash
  • ターゲットパスでフレーム指定はできますか

    FlashCS3で作業中です。 メインタイムラインの中の、6フレーム目にsyousai6というムービークリップがあります。9フレーム目にsyousai9というムービークリップがあります。 このsyousai9の中の2フレーム目にボタンを設置し、押したらsyousai6の9フレーム目に画面が切り替わるようにしたいのですが、ビヘイビアパネル>ムービークリップ>フレームまたはラベルへ移動して再生を停止 で、 on (release) { //Movieclip GotoAndStop Behavior this._parent.syousai6.gotoAndStop("9"); //End Behavior } と記述しても無反応です。絶対パスにしても結果は同じでした。どこか記述が間違っていますでしょうか?

  • Flash 重複しないムービー再生とその後の処理について

    標題の件、似たようなケースは多く、質問もいろいろ寄せられているの ですが、どうしても自分のケースに応用できなくて質問させていただき ました。 バージョンは「Flash MX 2004」で、やりたいことは以下の内容です。 ------------------------------------------- (1)9つのムービークリップを重複しないようにランダムに再生。  (なので正確にはシャッフルになるのでしょうか。。) (2)全てのムービーを再生後、次のフレームへ移動します。 ------------------------------------------- 以上です。 現在、1フレーム目に“Math.random();”を使ってランダムな数を取得 し、2~10フレームまで任意のフレームへ移動するよう設定していま す。2~10フレームまでは各ムービーを1フレームずつ配置している 状態で、それぞれstop();を設定しています。 各ムービークリップの最後のフレームには“_root.gotoAndStop(1);”を 設定して再びランダムな数を取得するようにしていますが、これだと重複 してしまうし、なおかつループし続けます。 「重複せずに全ムービーを再生後、11フレームへ移行する」という処理 がどうしてもわからず、ここから先が行き詰まってしまいました。 Math.random();のメソッド自体が適切でないのかも知れませんが、それら もふまえて、ご伝授いただけますでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 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でムービークリップ後のフレーム移動

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

    • ベストアンサー
    • Flash
  • Flash オブジェクトの表示/非表示

    こんにちは。今回はオブジェクトの表示/非表示のことに関して質問させていただきます.使っているものは、Mac/FlashCS3/AS1&2 です. (フレーム名"s1"にて) MC(ムービークリップ)/pre_btn(ボタン)/del_btn(ボタン)/btn(ボタン)というオブジェクトが画面に表示してあります. (アクションフレームに) pre_btn.onRelease = function(){   MC._visible = true; } del_btn.onRelease = function(){   MC._visible = false; } (btnムービークリップアクションに) on(release){   _root.gotoAndPlay("s2") } (フレーム名"s2"にて) btn2(ボタン)のみ画面に表示されています. (btn2ムービークリップアクションに) on(release){   _root.gotoAndPlay("s1") } 以上のACを記述しました.これでMCを表示/非表示させることができ,btnをクリックし"s2"フレームに移動/btn2をクリックし"s1"フレームに移動することもできるようになりました. しかし,"s1"にて非表示にしたMCが,"s2"のフレームに移動し"s1"に戻ってきたとき,表示されている状態に戻ってしまいます. どうしたら,一度非表示にしたMCを,その後フレーム移動したとしても,非表示の状態に保つことができるのでしょうか?? どうか,ヒントだけでもいいので,何か教えていただけると嬉しいです. よろしくお願いします.

専門家に質問してみよう