• ベストアンサー

シーン逆再生から再生

A、B、・・・ボタン シーンaa、シーンbb、シーンcc、・・・ があり Aボタンを押すとシーンaaが再生され、ストップ Bボタンを押すとシーンaaが逆再生されてからシーンcc後シーンbbに という風に動く式だとどうなるでしょうか? シーンではなく、外部swfでも逆再生できるのでしょうか?

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

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

  • ベストアンサー
noname#35109
noname#35109
回答No.1

シーンというのは,Flashでいう「シーン 1」「シーン 2」… のシーンのことですよね。 最初に「シーン 1」が出てきて,そこに「Aボタン」,「Bボタン」があると想定して書きます。 また,シーンbb=「シーン 2」,シーンcc=「シーン 3」 として回答します。 質問されてる内容を,それだけをするなら,単純に, 「シーン 1」の1フレームに stop(); 「Aボタン」に on (release) { play(); } 「シーン 1」の最終フレームをキーフレームにして stop(); とし, 「Bボタン」に on (release) { gotoAndStop(「シーン 1」の最終フレーム数); this.onEnterFrame = function() { gotoAndStop(this._currentframe - 1); if (this._currentframe == 1) { gotoAndPlay("シーン 3", 1); this.onEnterFrame = null; } }; } 「シーン 3」の1フレーム目に play(); 「シーン 3」の最終フレームに gotoAndPlay("シーン 2", 1); 「シーン 2」の最終フレームに stop(); と書けば良いです。 ---------------------------------------- もっとさらにボタンが増えて,それぞれのボタンをクリックしたら,それぞれ別の再生のしかたをする場合は 「シーン 1」の1フレームに if (flag == "B") { gotoAndPlay("シーン 3", 1); } else { stop(); } 「Aボタン」に on (release) { flag = "A"; play(); } 「シーン 1」の最終フレームをキーフレームにして if (flag == "A") { stop(); } とし, 「Bボタン」に on (release) { flag = "B"; gotoAndStop(「シーン 1」の最終フレーム数); this.onEnterFrame = function() { gotoAndStop(this._currentframe - 1); if (this._currentframe == 1) { this.onEnterFrame = null; } }; } 「シーン 3」の最終フレームに if (flag == "B") { gotoAndPlay("シーン 2", 1); } 「シーン 2」の最終フレームに if (flag == "B") { stop(); } というふうに変数flagを作り,ボタンにそれぞれのフラグを立てさせて,そのフラグの値によって, フレームのスクリプトを変えるのが楽だと思います。 --------------------------------------- >> シーンではなく、外部swfでも逆再生できるのでしょうか? できます。 外部swfを読み込んだムービークリップに,進み方を命令すれば良いだけです。 例として今作った,フラグ入りのSWFを仮に「001.swf」とし,それを読み込むSWFを作ります。 新しいムービーに「AAA」というインスタンス名のムービークリップを作り, 1フレーム目には, loadMovie("001.swf", "AAA"); と書いて,「001.swf」を「AAA」に読み込ませます。 それを動かすためのボタンを作り,そのボタンに, on (release) { _root.AAA.flag = "B" _root.AAA.gotoAndStop(「シーン 1」の最終フレーム数); this.onEnterFrame = function() { _root.AAA.gotoAndStop(_root.AAA._currentframe-1); if (_root.AAA._currentframe == 1) { _root.AAA.gotoAndPlay(***注意***); this.onEnterFrame = null; } }; } と書けば,ロードしたムービーを制御できます。 ロードしたムービーのコントロールと前のコントロールの書き方の違いは, ターゲットのパスを,ムービークリップのインスタンス名にするところが違うのと, _root.AAA.gotoAndPlay(***注意***); の部分です。 この「***注意***」の部分は「シーン 1」から数えた総フレーム数で書くと指定のシーンにジャンプできます。 例えば「シーン 1」が20フレーム,「シーン 2」が30フレームあったとして, 「シーン 3」の1フレームにジャンプしたい場合は,ココの数字を, 20+30+1=51で, _root.AAA.gotoAndPlay(51); としてください。 内容はすごく簡単なことなのですが,説明がややこしくなってしまいすみません。

SUGSUG
質問者

お礼

sassakunさん 丁寧にお答えいただいてありがとうございました。 外部swfでも上手く動かすことが出来ました。 自分でかいたスクリプトだと_currentframeのとり方とかがおかしかったようです。 回答有難うございました。

関連するQ&A

  • Flashのムービーの逆再生

    Flashでムービーを作り、それを再生・逆再生ボタン(クリック)で 制御する方法を教えて下さい。 ムービー再生中(逆再生中)にもボタンで操作出来るようにしたいです。 ムービーは終わりまで来たら、ストップをかけたいです。 書籍で探したのですが、載っていませんでした。 詳しく説明されてるページや書籍があったら教えて下さい。

  • 3つの連想配列を交互に代入して、新しい連想配列を作りたい

    PHP Version 5.1.6を使っています。 それぞれの連想配列を先頭から順番に交互に代入したいのですが、 どのようなプログラムでできるのでしょうか? $arr1 = array(a1=>"aa1", a2=>"aa2", a3=>"aa3"); $arr2 = array(b1=>"bb1", b2=>"bb2", b3=>"bb3"); $arr3 = array(c1=>"cc1", c2=>"cc2", c3=>"cc3"); 代入後 $new_arr = array(  a1=>"aa1",  b1=>"bb1",  c1=>"cc1",  a2=>"aa2",  b2=>"bb2",  c2=>"cc2",  a3=>"aa3",  b3=>"bb3",  c3=>"cc3", );

    • ベストアンサー
    • PHP
  • 一つのボタンで再生と停止を行う方法

    今、HP上で動画の再生を考えています。 再生する動画ファイル(動画.swf)のファイルサイズが5MBぐらいです。ファイルサイズが大きい為、この動画.SWFを外部ファイルとしてもう一つ再生用フレーム(テレビ.swf)を作成し、そこから動画ファイルを読み込むようにしています。 この際に、テレビ.flaで再生ボタン、停止ボタン、一番初めに戻るボタン計3つを作成しています。 一応、全てのボタンを機能さすことができました。 再生ボタンは、loadmovieで動画.swfを読み込んでいます。停止ボタンは、動画.swfをstopかけます。 一番初めに戻るボタンも_root.動画.swf.gotoPlay(1)で出来ています。 なにをしたいかというと、停止ボタンで停止したのちもう一度、停止ボタンを押すと停止部分から再生されるようにしたいのです。 停止ボタンとプレイボタンを作成すればできますが、停止ボタンで停止と再生が出来ません。 それと、もう一つ。 メモリーを再生中動かしているんですが、動かすだけはできました。しかし、このメモリーを戻したり、進めたりが出来ません。どのようにすればいいのですか? すごく、大雑把な説明ですみません! 宜しくお願いします。

    • ベストアンサー
    • Flash
  • ビデオクリップの再生の件で・・・

    今、HP上で動画の再生を考えています。 再生する動画ファイル(動画.swf)のファイルサイズが5MBぐらいです。ファイルサイズが大きい為、この動画.SWFを外部ファイルとしてもう一つ再生用フレーム(テレビ.swf)を作成し、そこから動画ファイルを読み込むようにしています。 この際に、テレビ.flaで再生ボタン、停止ボタン、一番初めに戻るボタン計3つを作成しています。 一応、全てのボタンを機能さすことができました。 再生ボタンは、loadmovieで動画.swfを読み込んでいます。停止ボタンは、動画.swfをstopかけます。 一番初めに戻るボタンも_root.動画.swf.gotoPlay(1)で出来ています。 なにをしたいかというと、停止ボタンで停止したのちもう一度、停止ボタンを押すと停止部分から再生されるようにしたいのです。 停止ボタンとプレイボタンを作成すればできますが、停止ボタンで停止と再生が出来ません。 それと、もう一つ。 メモリーを再生中動かしているんですが、動かすだけはできました。しかし、このメモリーを戻したり、進めたりが出来ません。どのようにすればいいのですか? すごく、大雑把な説明ですみません! 宜しくお願いします。

    • ベストアンサー
    • Flash
  • ひとつのムービーを再生しながらswf読み込み

    はじめまして。 質問なのですが、 flashで、一つのムービーを再生しながら、 その下の階層に外部のswfファイルを再生するというのは可能でしょうか。 たとえば、レイヤー1で雪が降るムービーを作って、 レイヤー2で外部swfを読み込み。 再生すると外部swfの上に雪が降るというふうにしたい場合、 どうしたらよいのでしょうか。 教えてください。

    • ベストアンサー
    • Flash
  • 因数分解!

    しょうもない質問ですいません。 自分でもこんな問題解けないのは恥ずかしいですが ほんとに困っています。 題名のとおりです。 複雑な因数分解のやり方がわからなくて困っています。 例えばこれです。 aa(b+c)+bb(c+a)+cc(a+b)+2abc aa,bb,ccは それぞれaの二乗、bの二乗、cの二乗を示してます。 友達が言うには答えは (a+b)(b+c)(c+a)だそうです。 僕はこういうやつをデン!と出されても 一体何からはじめればいいかわかんないんです。 教えてくれた友達は 「まずこうやってから、次こうして・・・」 と丁寧に教えてくれましたが、一体どういう風に式を見たらそういう発想って言うか考えが浮かぶんでしょうか? とにかく多くの問題を解けばいいでしょうか? 回答お願いします。

  • 3テーブル外部結合方法について

    3つのテーブルを外部結合したいのですが・・・、 こんがらがってしまいました。 A,B,Cの3テーブルがあり、A,B,Cの順に外部結合 (LEFT OUTER JOIN)したいのですが、 A,BのテーブルについてはWhere句の条件指定が 必要です。 Select From (Select AA.a From A AA Where b = xxxx) BB Left Outer Join (Select CC.b From B CC Where c = eeee and BB.a = CC.b) On ???? こんな感じでつまづいてしまいました・・・

  • accessのクエリーで、レコードを分割したい。

    テーブルに担当者 品名 数量      鈴木  A   100      佐藤  B   50とあります。 これを  鈴木  aa 100の10%で10      鈴木  bb   100の60%で60      鈴木  ㏄   100の30%で30      佐藤  aa 50の10%で5      佐藤  bb   50の60%で30      佐藤  ㏄   50の30%で15 という風にしたいです。 10% 60% 30%の数値は、変わりません。どうすればいいでしょうか。ご教授お願いいたします。

  • 列を結合させて外部キーを設定する方法

    AテーブルのAA列とBB列を結合させて 見かけ上CC列を作成し BテーブルのDD列を外部キーをはりたいのですが そういった事は可能でしょうか? イメージ的には以下のような感じです。 Aテーブル AA列 decimal (1,0)    DD列 decimal (3,0) 外部キー CC列(AA列+BB列)とDD列 Bテーブル DD列 decimal (4,0) 解り難くて申し訳ございませんがよろしくお願いします。

  • calcの計算式について

     A列 B列 1 aa 500 2 bb 210 3 cc 140 4 aa 520 5 cc 140 6 bb 20 7 cc 420 ・ ・ という100行ぐらいのデータの aa bb ccごとの合計を出す場合は どのように計算すればいいでしょうか? 例えばaaの合計は1020です。 よろしくお願い致します。

専門家に質問してみよう