- ベストアンサー
gotoAndPlayで特定のフレームまで移動した後gotoAndStop
ひとつのボタンのスクリプトで gotoAndPlayで特定のフレームまで移動した後に、 gotoAndStopでフレームを移動することはできますか? たとえば、 on (press) { gotoAndPlay(7); (14フレームまで再生した後) gotoAndstop(20); } といった内容です。 よろしくお願いします。
- みんなの回答 (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"; など)。
その他の回答 (1)
- mat-21
- ベストアンサー率56% (91/162)
質問内容から単純に考えると、 14フレームにActionScriptで「this.gotoAndStop(20)」で良いと思うのですが.....。
お礼
回答ありがとうございました。 こちらの質問の内容が説明足らずでした。 すみません。 No.2の方のようなことがききたかったのです
お礼
大変助かりました。お察しのとおりのことをききたかったのです。 if構文が使えたのですね。初心者なものですみません。 ありがとうございました。