- ベストアンサー
フレームラベルを使った複数指定について
|1 |5 |10 |15 |20 レイヤー1 |▲*1* |▲*2* |▲*3* |▲*4* |▲*5* | レイヤー2 |●>--→|●--→|●>--→|●--→|●--→| レイヤー3 |●>--→|●--→|●>--→|●--→|●--→| レイヤー1にはフレームラベルが記入されています。 1フレーム目のレイヤー2のボタンは on(press){ gotoAndPlay("*1*"); gotoAndPlay("*2*"); } 1フレーム目のレイヤー3のボタンには on(press){ gotoAndPlay("*1*"); gotoAndPlay("*3*"); } としています。 こちらはきちんと正常に意図通りに動きます。 10フレーム目のレイヤー2には on(press){ gotoAndPlay("*3*"); gotoAndPlay("*4*"); } 10フレーム目のレイヤー3には on(press){ gotoAndPlay("*4*"); gotoAndPlay("*5*"); } としてみましたが、こちらは正常に動きません。 指定の仕方としては誤っているでしょうか? もし間違いでしたら正しい指定の仕方を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フレームラベルBackを常に経由して、各個所へ移動するという感じでいいのでしょうか? それなら、BacKの最後のフレームには gotoAndPlay (hensuu); hensuu = "tomare"; 他の区分の最後のフレームは、 if(hensuu == "tomare"){ stop (); }else{ gotoAndPlay (hensuu); hensuu = "tomare"; } としておけば、できそうですが。 あとは早い段階でhensuuをtomareで定義しておけばバッチリでしょうか。 ただ、フレームラベルAやBの個所にgotoAndPlayを書く意味ってありますかね?AやBでも100%最後のフレームで止まるわけではないのかな? とりあえず、gotoAndPlayで、移動したらすぐに変数を入れ替えるようにしたらいいと思います。
その他の回答 (2)
- Haruna16
- ベストアンサー率66% (2/3)
No.1様の通り、gotoAndPlayが2つあるのはおかしいと思います。 on(press){ gotoAndPlay("*1*"); gotoAndPlay("*2*"); } がうまくいったのは、現在すでに"*1*"にいるため、無視されたからだと思います。 "*2*"のあと"*3*"に行かせたいなら、変数を立てたらどうでしょう。 前もってnextFr = 0;などと宣言しておいて、 on(press){ gotoAndPlay("*2*"); nextFr = "*3*"; } と、ボタンを押したときにそれぞれを代入し、 *2*の最後(フレーム9)のストップのあとに stop(); gotoAndPlay(nextFr); とすれば、先に代入したフレームにとぶことができます。 もし、*2*のあとは*3*、*3*のあとは*4*、というふうに次に行かせたいフレームが固定の場合は、 フレーム9に直接 gotoAndPlay("*3*"); と書けばいいと思います。
お礼
なるほど、変数を使えばいいんですね。 やってみたら最初はいいんですが2回目以降が…。 「ボタン1」 「ボタン2」 とあって、それぞれ ●ボタン1 on(press){ gotoAndPlay("Back"); hensuu = "A"; } ●ボタン2 on(press){ gotoAndPlay("Back"); hensuu = "B"; } とあったとします。 Backの部分のthis.stop();の箇所は this.stop(); gotoAndPlay(hensuu); としました。 これでクリックをすると、指定するAやBに行くのですが、 そちらの箇所にも this.stop(); gotoAndPlay(hensuu); が指定してあって、ループ状態になってしまいます。 この場合はどのようにしたらいいのでしょうか?
- antai
- ベストアンサー率38% (88/227)
これだけでは一体どうしたいのかよくわかりませんが、とりあえず、同じブロック(今回はon(press))の中にgotoAndPlayが2つあるっていうのはおかしいと思いますよ。
お礼
例えば一つのボタンを押したら まず、「*2*」の箇所を実行させます。 (フレーム5から始まり、9で終了(this stop();がある) その後、「*3*」の箇所を実行させたいのです。 この場合、どのように表記すればいいのでしょうか?
お礼
無事にできました! ありがとうございました!!