キーオブジェクトはキーボードからの入力を管理するオブジェクトです。
キーオブジェクトはムービーの再生時に自動的に生成される「トップレベルオブジェクト」の一つです。
プロパティ | キー | キーコード |
---|---|---|
BACKSPACE | BackSpaceキー | 8 |
TAB | Tabキー | 9 |
ENTER | Enterキー | 13 |
SHIFT | Shiftキー | 16 |
CONTROL | Ctrlキー | 17 |
CAPSLOCK | CapsLockキー | 20 |
ESCAPE | Escキー | 27 |
SPACE | Spaceキー | 32 |
PGUP | PageUpキー | 33 |
PGDN | PageDownキー | 34 |
END | Endキー | 35 |
HOME | Homeキー | 36 |
LEFT | ←キー | 37 |
UP | ↑キー | 38 |
RIGHT | →キー | 39 |
DOWN | ↓キー | 40 |
INSERT | Insertキー | 45 |
DELETEKEY | Deleteキー | 46 |
getAscii() | 最後に押されたキーのAsciiコードを返す |
---|---|
getCode() | 最後に押されたキーのキーコードを返す |
isDown() | 指定されたキーが押されているかを返す |
isToggled() | Lockできるキーの状態を返す |
getCode()メソッドで最後に押されたキーのキーコードが得られます。
Key.getCode()
通常、キーを押したときに発生するkeyDownイベントハンドラ内で実行します。
ムービークリップオブジェクトを作って、ムービークリップアクションを記述します。
onClipEvent(keyDown) { trace(Key.getCode()); }
getAscii()メソッドで最後に押されたキーのAsciiコードが得られます。
Key.getAscii()
通常、キーを押したときに発生するkeyDownイベントハンドラ内で実行します。
ムービークリップオブジェクトを作って、ムービークリップアクションを記述します。
onClipEvent(keyDown) { trace(Key.getAscii()); }
String.fromCharCode()と組み合わせて文字に変換します。
onClipEvent(keyDown) { var keyCode, keyAscii; keyCode=Key.getCode(); keyAscii=Key.getAscii(); trace(keyCode+": "+String.fromCharCode(keyCode)+" "+keyAscii+": "+String.fromCharCode(keyAscii)); }
Key.isDown(キーコード)
onClipEvent(load) { var speed=5; } onClipEvent(keyDown) { if (Key.isDown(Key.SHIFT) ) { speed=10; } else { speed=5; } if ( Key.isDown(Key.LEFT) ) { this._x-=speed; } if ( Key.isDown(Key.RIGHT) ) { this._x+=speed; } if ( Key.isDown(Key.DOWN) ) { this._y+=speed; } if ( Key.isDown(Key.UP) ) { this._y-=speed; } }
同時押しから一方のキーを離すと判定がおかしくなることがあります。
Key.isToggled(キーコード)
onClipEvent(keyDown) {
if ( key.isToggled(144) ) { // NumberLockキーのキーコードは114
speed=20;
} else {
speed=10;
}
if ( Key.isDown(Key.LEFT) ) {
this._x-=speed;
} else if ( Key.isDown(Key.RIGHT) ) {
this._x+=speed;
} else if ( Key.isDown(Key.DOWN) ) {
this._y+=speed;
} else if ( Key.isDown(Key.UP) ) {
this._y-=speed;
}
}
Programming Laboratory (Shio seminar)