• ベストアンサー

gotoAndPlayで特定のフレームまで移動した後gotoAndStop

ひとつのボタンのスクリプトで gotoAndPlayで特定のフレームまで移動した後に、 gotoAndStopでフレームを移動することはできますか? たとえば、 on (press) { gotoAndPlay(7); (14フレームまで再生した後) gotoAndstop(20); } といった内容です。 よろしくお願いします。

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

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

1つのボタンで飛べないこともないですが, (14フレームまで再生した後) というところの時間計算をして, gotoAndPlay(7);が実行されて,次にgotoAndstop(20);が実行されるまでに待つ時間を入れなければならないので,普通は使いません。 ですから, #1さんの言われるとおり基本的には7フレーム目のフレームアクションにgotoAndstop(20);と書くのが普通です。 でも, 1つのボタンで済ませたいと言うことは,ひょっとしたら, Aフレームから7フレームに飛んだ時は20フレームに, Bフレームから7フレームに飛んだ時は30フレームに, というように,同じ7フレームに飛んだ時でも条件によってさらに次の結果が違う場合かなと勝手に想像しました。 違っていたらすみません。以下は無視してください。 同じ7フレームに来ても飛んできた条件によって,さらに違う結果にするには, Flashに限らずフラグを立てて,フラグの値によって次の動作を決めるという条件分岐を使います。 下の例は1フレームから7フレームに飛んだときは20フレームでstop, 2フレームから7フレームに飛んだときは30フレームでstopさせるという例です。 1フレームのボタンのスクリプト on (release) { flag = "1"; gotoAndPlay(7); } 2フレームのボタンのスクリプト on (release) { flag = "2"; gotoAndPlay(7); } 20フレームのフレームスクリプト if (flag == "1") { gotoAndstop(20); } if (flag == "2") { gotoAndstop(30); } flagというのは勝手に決めた変数名です。 もっとややこしくなる場合は, flagをどこか,例えば20や30フレームで初期化するスクリプトを入れておくことをおすすめします(flag = "0"; など)。

ryotatronica
質問者

お礼

大変助かりました。お察しのとおりのことをききたかったのです。 if構文が使えたのですね。初心者なものですみません。 ありがとうございました。

その他の回答 (1)

  • mat-21
  • ベストアンサー率56% (91/162)
回答No.1

質問内容から単純に考えると、 14フレームにActionScriptで「this.gotoAndStop(20)」で良いと思うのですが.....。

ryotatronica
質問者

お礼

回答ありがとうございました。 こちらの質問の内容が説明足らずでした。 すみません。 No.2の方のようなことがききたかったのです