• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FLASHでSKIPさせるときのAS表記について)

FLASHでSKIPさせる方法とは?

このQ&Aのポイント
  • フラッシュで初めてskipボタンを作成しました。アクションスクリプトの設定で特定のシーンに移動したい場合、gotoAndPlay関数を使用します。しかし、シーン名のみを指定してもうまく作動しないことがあります。
  • 前任者が作ったボタンではうまく作動していたので、なぜ自分の作ったものではうまくいかないのか知りたいです。
  • 関連する詳細として、5つのシーンで構成されており、ボタンは透明ボタンとして作成されています。また、特定のシーンで停止するように「stop();」が入れられています。

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

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

gotoAndPlay の移動先は、フレームの番号かフレームラベルのどちらかで指定できます。 フレームラベルとは、フレームに付けた名前のことです。 Flash MX 以降の Flash をお使いの場合は、フレームを選択した状態で「プロパティ」パネルを見てください。 右上の方に、<フレームラベル> という仮のテキストが入っている項目があります。 ここに何か名前を入力すると、そのフレームに名前が付きます。この名前のことをフレームラベルといいます。 フレームラベルは gotoAndPlay または gotoAndStop の移動先として利用できます。 フレームラベルを指定して移動する場合は  gotoAndPlay( "フレームラベル" ); と、" " でくくって渡す決まりになっています。 ところで、gotoAndPlay はシーンを移動できるものとできないものの、2種類があります。 シーンを移動できる gotoAndPlay は、ステージに直接配置したボタンインスタンスに書く on アクションの中か、メインのタイムラインのフレームに設定するフレームアクションの中でだけ利用できます。 この gotoAndPlay の書式は、  gotoAndPlay( "シーン名" , フレーム番号もしくはフレームラベル ); ですが、シーン名は省略も可能です。 例えば  gotoAndPlay( "scene5" ); と、パラメータを1つだけ書くと、これはシーン名ではなくフレームラベルの指定と見なされます。 この場合は、scene5 というラベルが付いたフレームがないと、この gotoAndPlay は正常に実行されません。 前任の方の書き方は、シーン名ではなくフレームラベルを使った指定だったのではないでしょうか。 例えばシーン5のフレーム1に scene5 というフレームラベルを付けておくと、シーン名とフレームを指定する代わりに  gotoAndPlay( "scene5" ); このように、フレームラベル1つだけを指定することでも移動できます。 gotoAndPlay でパラメータを1つだけ渡すと、先述の通り、これはフレームラベルと見なされてしまいます。 シーン名とフレームの両方を指定すると上手くいくのにシーン名だけだと上手くいかないのは、Flash の中ではこれがフレームラベルと解釈されており、該当するフレームが見当たらないためだと思います。

pon_nao
質問者

お礼

調べてみましたら、やはりフレームラベルの設定でした。丁寧な回答ありがとうございました。

関連するQ&A