人に聞けない痔の悩み、これでスッキリ >>

ひとつのボタンのスクリプトで
gotoAndPlayで特定のフレームまで移動した後に、
gotoAndStopでフレームを移動することはできますか?

たとえば、

on (press) {
gotoAndPlay(7);
(14フレームまで再生した後)
gotoAndstop(20);
}

といった内容です。
よろしくお願いします。

A 回答 (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"; など)。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/30 15:38

質問内容から単純に考えると、


14フレームにActionScriptで「this.gotoAndStop(20)」で良いと思うのですが.....。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/03/30 15:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング