キーボードで制御
ボタンをマウスで押す代わりにキー操作で行う
on(keiPress"<キー>"){
//キーコードが押されたときの処理
}
onClipEvent (load) { var keyMove:Number=5; } on(keyPress "<Left>"){ this._x-=keyMove; } on(keyPress "<Right>"){ this._x+=keyMove; } on(keyPress "<Up>"){ this._y-=keyMove; } on(keyPress "<Down>"){ this._y+=keyMove; }
キーボードから反応を得るには
- 毎フレームが実行されるイベントの中でキーが押されているか判定する
- キーが押されるごとにイベントが呼ばれるように登録する
if(key.isDown(キーコード)){
//キーコードが押されたときの処理
}
onClipEvent (load) { var keyMove:Number=5; } onClipEvent (enterFrame) { if(Key.isDown(Key.LEFT)){ this._x-=keyMove; } if(Key.isDown(Key.RIGHT)){ this._x+=keyMove; } if(Key.isDown(Key.UP)){ this._y-=keyMove; } if(Key.isDown(Key.DOWN)){ this._y+=keyMove; } }
キーが押されているかをずっと調べる
onClipEvent (load) { var keyMove:Number=5; } onClipEvent (enterFrame) { if(Key.isDown(Key.LEFT)==true){ this._x-=keyMove; } if(Key.isDown(Key.RIGHT)==true){ this._x+=keyMove; } if(Key.isDown(Key.UP)==true){ this._y-=keyMove; } if(Key.isDown(Key.DOWN)==true){ this._y+=keyMove; } }
key.getCode()でキーが押されているかを調べる
onClipEvent(keyDown){
//何かキーが押されて
if(Key.getCode()==Key.LEFT){
//それが「←」キーだったら実行する
}
onClipEvent (load) { var keyMove:Number=5; } onClipEvent (keyDown) { if(Key.getCode()==Key.LEFT){ this._x-=keyMove; } if(Key.getCode()==Key.RIGHT){ this._x+=keyMove; } ifKey.getCode()==Key.UP{ this._y-=keyMove; } if(Key.getCpde()==Key.DOWN){ this._y+=keyMove; } }
keyDownをenterFrameにすると、キーをおしたとき動き続ける。
だから、keyDown。(押した時・押すたびに)
switch文に書き換え
onClipEvent (load) { var keyMove:Number=5; } onClipEvent (keyDown) { switch(Key.getCode()){ case Key.LEFT: this._x-=keyMove; break; case Key.RIGHT: this._x+=keyMove; break; case Key.UP: this._y-=keyMove; break; case Key.DOWN: this._y+=keyMove; break; } }
イベントリスナーにイベントオブジェクトを登録
- イベントを受け取る
var keyMove=5; myKey=new Object();//新しいリスナーオブジェクトを作成 myKey.onKeyDown=function(){//関数を登録 switch(Key.getCode()){ case Key.LEFT: mac_mc._x-=keyMove; break; case Key.RIGHT: mac_mc._x+=keyMove; break; case Key.UP: mac_mc._y-=keyMove; break; case Key.DOWN: mac_mc._y+=keyMove; break; } }; Key.addListener(myKey); //リスナーを Key オブジェクトに登録 //イベント通知を受け取る
何のためにキー入力を調べるのか
それぞれ適した方法が用意されている。。。