• ベストアンサー

フレームラベルを使った複数指定について

      |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*"); } としてみましたが、こちらは正常に動きません。 指定の仕方としては誤っているでしょうか? もし間違いでしたら正しい指定の仕方を教えてください。

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

  • ベストアンサー
  • antai
  • ベストアンサー率38% (88/227)
回答No.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で、移動したらすぐに変数を入れ替えるようにしたらいいと思います。

w-inty
質問者

お礼

無事にできました! ありがとうございました!!

その他の回答 (2)

  • Haruna16
  • ベストアンサー率66% (2/3)
回答No.2

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*"); と書けばいいと思います。

w-inty
質問者

お礼

なるほど、変数を使えばいいんですね。 やってみたら最初はいいんですが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)
回答No.1

これだけでは一体どうしたいのかよくわかりませんが、とりあえず、同じブロック(今回はon(press))の中にgotoAndPlayが2つあるっていうのはおかしいと思いますよ。

w-inty
質問者

お礼

例えば一つのボタンを押したら まず、「*2*」の箇所を実行させます。 (フレーム5から始まり、9で終了(this stop();がある) その後、「*3*」の箇所を実行させたいのです。 この場合、どのように表記すればいいのでしょうか?