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などは定数での指定が可能です。

定数:

BackSpaceKey.TAB
EnterKey.ENTER
ShiftKey.SHIFT
CtrlKey.CONTROL
CapsLockKey.CAPSLOCK
EscKey.ESCAPE
スペースKey.SPACE
などなど

数値:

048
149
250
351
452
553
654
755
856
957
などなど

※詳しくはFLASHのヘルプより参照できます。

サンプルのそれぞれのカーソルキーに対する移動距離が違うのは、描いたものが飛行機だったので適当に変えただけです。
上に移動する時は重力があるかな?右に移動する時は前進だから速く移動かな?みたいな感じで。

次回ですが、
このままだとステージ外に出ても見えないところでずーーーーっと移動し続けます。
なのでステージ内だけの移動はどうやったらいいの?
という所を解説していきます。(出来るだけ早めに。)

ブログランキング・にほんブログ村へ

トラックバック(0)

このブログ記事を参照しているブログ一覧: 017[MCをキーボードで操作する]

このブログ記事に対するトラックバックURL: http://makuadmin.coresv.com/mt-tb.cgi/242