アプリ版:「スタンプのみでお礼する」機能のリリースについて

Flashを使ってゲームを作っているのですが、
ActionScript3.0で、特定のキー(例えば、0や1など)が押された時、
現在のフレームから、指定したフレームに移動するというプログラムを
書きたいと思っていますが、なかなか苦戦しています。

そこで、仮に0のキーが押された時、nextpageとフレーム名を付けたフレームに
移動するActionScript3.0を設定しようとした場合、どのように書いたらよいのでしょうか?

A 回答 (1件)

タイムラインのフレーム1にでも書くのでしたら次のようになるでしょう。





//------------------------------------------------------
//何かのキーが押されたときに 関数 keyDownFunk を実行
stage.addEventListener(KeyboardEvent.KEY_DOWN,keyDownFunk);

//関数 keyDownFunk の定義
function keyDownFunk(e:KeyboardEvent):void {
//(取得したキーのキーコードを試し出力(動作とは関係なし))
trace(e.keyCode);
//もしキーが 0 であれば
if (e.keyCode == 96) {
//フレームラベル「nextpage」のフレームへ移動(停止)
gotoAndStop("nextpage");
}
}
//------------------------------------------------------



ただし

> nextpageとフレーム名を付けたフレームに移動する

これには場合がたくさんあるので
上記の通りに書いていつもうまく行くとは限りません。

もしかしたらこうかもしれません↓。

//フレームラベル「nextpage」のフレームへ移動(再生)
gotoAndPlay("nextpage");

またはターゲットパス付きで
次のようにする場合もあるでしょう↓。

//フレームラベル「nextpage」のフレームへ移動(停止)
MovieClip(root).gotoAndStop("nextpage");

こんなことを言い出せばキリがありませんので,
「だいたいそんな感じ」と思ってください。
 

 

なお,,,
私ココカシコで同じばかり書きすぎて面倒なので
今回はキーイベントの注意点(フォーカスのことについて)は書きません。
(キーイベントは注意書きの方が多すぎて回答が面倒。)

フォーカスの注意点の例↓
「Flashゲームのブラウザ内での動作について OKWave」
http://oshiete.goo.ne.jp/qa/6422938.html
「flashのキーボード操作についてなのですが OKWave」
http://okwave.jp/qa/q5931486.html
    • good
    • 0
この回答へのお礼

ありがとうございます!

お礼日時:2012/08/06 23:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!