• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Flash A.S3.0のシーン移動について)

Flash A.S3.0のシーン移動について

このQ&Aのポイント
  • Flash A.S3.0を使用してシーン移動する方法について説明します。
  • シーン移動時に「Shiftキー」を押すことで前のシーンに戻る機能の追加方法を解説します。
  • 上記のコードを使用して、シーン移動と前のシーンに戻る機能を実装することができます。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

「ひとつ前のシーン」の件は少しややこしい(色々な場合がある)のでとりあえず置いておいて 「Shiftキー」を押すことで シーン「P33」のフレーム「P33end」に移動するスクリプトを書きます。 リスナー関数の仮引数(ご質問のスクリプトの場合は「event」)には 発生したキーボードイベントオブジェクトの参照が入ります。 そのキーボードイベントのkeyCodeプロパティを調べると そのキーボードイベントを発生させたキーコードがわかります。 『もしそのキーコードが「SHIFT」キーであれば…』というif文を付け加えれば良いので 次のようになります↓。 //************************************** stop (); stage.addEventListener (KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler_033); function fl_KeyboardDownHandler_033 (event:KeyboardEvent):void { if (event.keyCode == Keyboard.SHIFT) { MovieClip(this.root).gotoAndPlay ("P33end", "P33"); stage.removeEventListener (KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler_033); } } //************************************** Keyboard.SHIFT は Keyboardクラスの定数です。 このような書き方を知らなくても(ヘルプなどで調べなくても)別にかまいません。 fl_KeyboardDownHandler_033 内に trace(event.keyCode); などと書いて「制御」→「ムービープレビュー」すれば キーコード(コード番号)得られます。 「SHIFT」キーのキーコードは 16 です。 ですから上のコードの if文 の部分を次のように変えても良いです。 if (event.keyCode == 16) ========================= さて「ひとつ前のシーン」です。 上のスクリプトを原型にして 関数名だけを変えて「ひとつ前のシーン」に移動する場合は次のようになります。 //************************************** stop (); stage.addEventListener (KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler_034); function fl_KeyboardDownHandler_034 (event:KeyboardEvent):void { if (event.keyCode == Keyboard.SHIFT) { MovieClip(this.root).prevScene(); stage.removeEventListener (KeyboardEvent.KEY_DOWN, fl_KeyboardDownHandler_034); } } //************************************** この prevScene() ですが これは gotoAndStop(○○) と同じで そのシーンの先頭フレームで止まります。 gotoAndPlay(○○) と同じように シーンの先頭フレームから再生を開始させたい場合は MovieClip(this.root).prevScene(); の後に MovieClip(this.root).play(); と書く必要があります。 ただし この MovieClip(this.root).play(); を付け加えて動作するのは Flash Player 10 以上(要 Flash CS4 以上)のみの場合があります。 この辺は場合(その他の条件)によって変わるので実際にやってみないと何とも言えません。

tep0607
質問者

お礼

お礼が遅くなり申し訳ございません。 ご丁寧にソースを記載していただきありがとうございました! 無事、アクションを設定することが出来ました。感謝です!

すると、全ての回答が全文表示されます。

関連するQ&A