• ベストアンサー

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

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

  • w-inty
  • お礼率72% (1169/1618)
  • Flash
  • 回答数3
  • ありがとう数3

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

  • ベストアンサー
  • 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*」の箇所を実行させたいのです。 この場合、どのように表記すればいいのでしょうか?

関連するQ&A

  • ループを抜けて指定したフレームへ行きたい

    大学の課題で簡単なFLASHゲームを作っているのですが アクションスクリプトの書き方で質問させてください。 最初の画面のスタートボタンを押したら、フレーム50からあるOPムービー的なものへ行き再生したいのですが うまくいきません。 最初のページには森の絵があり、枝が揺れているので 枝を揺らすために 別にアクションスクリプトを記述するだけのレイヤーをつくり this.gotoAndPlay(19) と書いてします。 この事で、全てのレイヤーが19~40をループしているようです。 スタートボタン(ボタンで作りました)を押す事で、 このループを抜けて、50フレームに行くのはどうしたらいいでしょうか 昨夜から本やサイトを見ているのですがどうにも失敗します on(press)関係をボタンをつけたレイヤーに書くとthis.gotoAndPlay(19)がきかず全て再生されてしまいます。 いまいちFLASHが理解できておらず、質問内容もガタガタですが 何とぞ宜しくお願いいたします。

  • adobeFlashcs5.5でのプレビュー

    おはようございます。当方初心者です。 フラッシュコンテンツのwebサイトを制作しております。 が、作った動画をプレビューするとボタンが効かなくなってしまいます。効かなくなってしまうといってもマウスオーバーに一応反応しますが、激しく点滅しクリックしてもこちらの意図する動きをせず指定したフレームに飛んでくれません。 意図した通りにといってもパソコンはコード通りに動いているためこちらが間違っているのですが、、、 全て効かなくなってしまうわけではないのですが効くボタンと効かないボタンの違いを分析してみても力及ばずわかりません。 添付画像のhomeのレイヤーにいくつかボタンを作り、どのボタンもactionscriptは on(release){ gotoAndPlay(それぞれ指定するラベル) { としています。 アップ、ヒットは指定せずそのまま、オーバー、ダウンはボタンシンボル化された画像を使用しています。効くボタンも効かないボタンも同じです。 しかしプレビューではなくシンプルボタンを有効にして編集した場合には問題なく効いてくれます。 コンパイルエラーには シーン=シーン 1、レイヤー=home、フレーム=1 、行 4 ステートメントは on ハンドラ内でなくてはいけません。 シーン=シーン 1、レイヤー=home、フレーム=1 、行 1 ステートメントは on ハンドラ内でなくてはいけません。 シーン=シーン 1、レイヤー=works、フレーム=16 、行 4 ステートメントは on ハンドラ内でなくてはいけません。 と3つのエラーがでています。 こちらも関係あるのでしょうか、合わせて伺いたいです。 ご教示頂けましたら幸いです。

  • 外部swfのフレームを指定して読み込み

    あるムービークリップ(mc1とします)に外部swf(001.swfとします) を読み込むことはできるのですが、 mc1に001.swfを読み込み、001.swfの50フレーム目から再生ということは可能でしょうか。 いろいろと調べたのですが、どうしてもうまくいきませんでした。 ボタンを作りボタンを押したら読み込み50フレーム目から再生という指示を書いたのですが、、、 on (press) { _root.mc1.loadMovie("top.swf"); _root.mc1.gotoAndPlay(50); } 1フレーム目から再生されてしまいます。

  • 外部ファイルのフレームラベルにリンクをさせたい。

    こんにちわ。 色々、探してみましたが、頭がこんがらがってしまい、時間ばかりが過ぎて行くので質問させていただきます。 外部ファイルのフレームラベルにリンクをさせたいのですが、どなたかご存じの方ご教授ください。 flame.swfを読み込んだときは自動的にcontents1.swf→contents2.swfと進み、ボタンをクリックすると 指定されたフレームラベルにリンクさせたいのです。 色々試してみたのですが、うまく外部ファイルが読み込めなかったりボタンが機能しない状態です。 flame.swf contents1.swf contents2.swf flame.fla  kazari   ボタンの飾りグラフィクが置いてある。  button1-1 1-1(contents1.swf内1-1フレームラベルにリンクするボタン)  button1-2 1-2(contents1.swf内1-2フレームラベルにリンクするボタン)  button2-1 2-1(contents2.swf内2-1フレームラベルにリンクするボタン)  button2-1 2-2(contents2.swf内2-2フレームラベルにリンクするボタン)  mytarget mytarget(movie clip。ここにcontents1.swfもしくはcontents2.swfを読み込ませる) 1 フレーム目のアクションスクリプトに stop(); button1-1のボタンスクリプトに on (release) { gotoAndPlay("1-1"); /コメント:フレームラベル1-1にボタン飾りがあるため同じシーン内の「1-1」に行くように/ } 1 フレーム目のmytargetアクションスクリプトに onClipEvent (load) { loadMovieNum("contents1.swf", 1); } フレームラベル1-1のmytargetアクションスクリプトに onClipEvent (load) { this.mytarget.loadMovie("contents1.swf" , 1); flg='contents1.swfのフレームラベル'; } contennts1(2).fla 1フレーム目のアクションスクリプトに stop(); gotoAndPlay(flg); 環境:Max OS 10.3.6 Flash8

    • ベストアンサー
    • Flash
  • gotoAndPlayで特定のフレームまで移動した後gotoAndStop

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

    • ベストアンサー
    • Flash
  • FLASHで別swfファイルの指定フレーム読み込み

    1.swfのボタンに以下のようなアクションスクリプトを指定してあります。 on(press){ loadMovieNum("2.swf",0); } これでボタンを押すと2.swfが読み込まれます。 ですが、この2.swfの例えば、5フレーム目、などのようにフレームを指定して読み込むことはできないのでしょうか? よろしくお願いします。

  • Actionscript3.0でのフレーム操作

    今までAS2で、ボタンを押したら、"top"というラベルを付けたフレームに移動する操作を、ボタンインスタンスに直接アクションを設定して、 on (release) {gotoAndPlay("top"); } とし、topというフレームで stop(); みたいな感じにしてたんですが、これをAS3でやろうとしたらどうしたらいいのでしょうか?

    • ベストアンサー
    • Flash
  • Flash、ボタンが動かない!?

    Flashでコンテンツ制作中です。 ボタンが思うとおりに動きません。 まず、シーン1上に、レイヤー10枚400フレームほどでアニメーションを作っています。 まずは、あるボタンをクリックすると、他のフレームに移動するように作っています(移動はすべてフレームラベルをつけて移動しています)。 移動先はアニメーションなのでシンボルでアニメーションクリップ化しています。 そのアニメーションクリップはいくつかのボタンの集合体です。ボタンをクリックするとまた別のフレームに飛ばしたいのですが、うまく出来ません。 ボタン自体が動いていないわけではありませんでした。 on (release) {getURL("http://www.~~/");}にするとちゃんとページを表示します。 on (release) {gotoAndPlay("main");}とすると移動しません。 on (release) {gotoAndPlay("シーン 1", "main");} でもダメでした。 ラベルのスペル間違えではないとした場合、他に何かダメな理由が考えられることはありますか? よろしくお願いします。

  • 二択のフレーム移動

    ボタンクリックで3216フレームか3062フレームの どちらかにランダムで移動させたいんですが、 アクションスクリプトをどう記述していいのか分かりません。 on (press){gotoAndPlay( この形の記述で出来るのでしょうか? それとも別の形なのでしょうか? 教えてください。 過去記事ではランダムに1から5の間のどれかに飛ばせる というものがおおく、特定の2フレームというのは なさそうでした…探しても見つけられませんでしたので、 どうぞお助け下さい。 当方バージョンは Flash8 プロフェッショナルです。

    • ベストアンサー
    • Flash
  • FlashMX:外部swfから大元のswf上の指定フレームへ移動させる

    FlashMX:外部swfから大元のswf上の指定フレームへ移動させるには? Flash MX、Windows Vistaです。 大元のswf上で、小さな写真兼その拡大ボタンを20個ほどつくろうとしています。 ●大元swf・・・main.swfとします。 ●大写真Aswf・・・・photo-a.swfとします。 main.swfの小写真ボタンAをクリックすると、 ・レベル1に外部swfとしてphoto-a.swfを読み込み ・main.swfで、拡大ボタンを消さなくてはならないので、停止フレームの直後にボタンだけを消したフレームをつくり、そこにgotoStopさせた そして、photo-a.swfでムービーがひととおり終わったのち、「戻る」ボタンを用意しており、それをクリックすると、 ・直後の「back」というフレームラベルにgotoさせ、だんだん写真が消えていくるトゥイーンをさせたあと、最後のフレームに ------------------------------------------------------ unloadMovieNum(1); mc-menu00.gotoAndPlay("btn_on"); ------------------------------------------------------ と記述しました。 意図は、 (1)今ロードしていたphoto-a.swfを消すこと (2)main.swfのフレームを、拡大ボタンが出現しているひとつ前のフレームに戻す ですが、(2)がなりません。 どのように記述すれば、photo-a.swfからmain.swf上の指定フレームラベルへ移動させることができるでしょうか?

    • ベストアンサー
    • Flash

専門家に質問してみよう