017[MCをキーボードで操作する]
2009/02/10
前回の予告からかなり時間が経ってしまいましたが、今回はMCインスタンスをキーボードで操作する仕組みを解説します。
キーボードのカーソルキーで操作。
※動かない場合はFLASHを一度クリックしてから操作してみてください。
レシピ
まずは、動かしたいものをチカライッパイ描きましょう。
描いたらムービークリップシンボルに変換します。名前は適当に。
インスタンスに以下のスクリプトを記述します。
●ムービークリップアクション
onClipEvent (enterFrame) { //繰り返し
if (Key.isDown(Key.UP)) { //もし↑が押されたら
this._y -= 4; //Y座標を-4ずつ移動
}
if (Key.isDown(Key.DOWN)) { //もし↓が押されたら
this._y += 7; //Y座標を7ずつ移動
}
if (Key.isDown(Key.LEFT)) { //もし←が押されたら
this._x -= 3; //X座標を-3ずつ移動
}
if (Key.isDown(Key.RIGHT)) { //もし→が押されたら
this._x += 7; //X座標を7ずつ移動
}
}
以上
今回、新しく出てきたKey.isDownは以下の通り。
Key.isDown(キーコード);
キーコードは基本的には数値で指定します。
ただしカーソルキーやバックスペース、Enterなどは定数での指定が可能です。
定数:
| BackSpace | Key.TAB |
| Enter | Key.ENTER |
| Shift | Key.SHIFT |
| Ctrl | Key.CONTROL |
| CapsLock | Key.CAPSLOCK |
| Esc | Key.ESCAPE |
| スペース | Key.SPACE |
数値:
| 0 | 48 |
| 1 | 49 |
| 2 | 50 |
| 3 | 51 |
| 4 | 52 |
| 5 | 53 |
| 6 | 54 |
| 7 | 55 |
| 8 | 56 |
| 9 | 57 |
※詳しくはFLASHのヘルプより参照できます。
サンプルのそれぞれのカーソルキーに対する移動距離が違うのは、描いたものが飛行機だったので適当に変えただけです。
上に移動する時は重力があるかな?右に移動する時は前進だから速く移動かな?みたいな感じで。
次回ですが、
このままだとステージ外に出ても見えないところでずーーーーっと移動し続けます。
なのでステージ内だけの移動はどうやったらいいの?
という所を解説していきます。(出来るだけ早めに。)
トラックバック(0)
このブログ記事を参照しているブログ一覧: 017[MCをキーボードで操作する]
このブログ記事に対するトラックバックURL: http://makuadmin.coresv.com/mt-tb.cgi/242