私は2つのeventListenersを持っています:
1)キーリスナー(A、S、D、W); -オブジェクトの移動用
2)キーリスナー(WhiteSpace)-ジャンプオブジェクト用
したがって、A OR S OR D OR Wキーを押した後、空白を押すと、この瞬間の前にすべてが大丈夫になります。オブジェクトは移動とジャンプを同時に行いますが、移動中に空白キーを離すと、オブジェクトは停止します...
では、キーの空白を離してもオブジェクトが移動するようにするにはどうすればよいですか?他のキーを離したり押したりすることに注意を払っていませんか?
private function onKeyDown(e:KeyboardEvent):void {
//trace(e.keyCode);
switch(e.keyCode)
{
case 68:
direction = 'left';
stage.addEventListener(Event.ENTER_FRAME, moveRight);
break;
case 65:
direction = 'right';
stage.addEventListener(Event.ENTER_FRAME, moveLeft);
break;
case 32:
jump() // the whitespace key
break;
}
private function moveRight(e:Event):void {
shape.x += 5;
}
private function moveLeft(e:Event):void {
shape.x += 5;
}
private function jump():void {
stage.addEventListener(Event.ENTER_FRAME, jumpAnimation);
}
private function jumpAnimation(e:Event):void {
//here code for jumping increasing the y and decreasing....
}
private function onKeyUp(e:Event):void {
stage.removeEventListener(Event.ENTER_FRAME, moveRight);
stage.removeEventListener(Event.ENTER_FRAME, moveLeft);
}