【发布时间】:2012-07-07 02:26:59
【问题描述】:
我有 2 个事件监听器:
1) 按键监听器(A, S, D ,W); - 用于移动对象
2) key listener(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);
}
【问题讨论】:
-
向我们展示您正在使用什么,如果我们没有它,我们将无法调试您的代码。另外,请提供相关的 sn-ps。
-
你能添加你的代码吗?在没有实际看到的情况下猜测它很困难,但这似乎是一个标志重置问题。
-
添加了代码.....,还有很多其他的代码,但我认为这是最相关的
-
所以问题是形状对象在释放某个键时停止,我不明白为什么会发生这种情况?如何解决这个问题
-
它不仅是空格,当我释放任何键时,另一个键取消到 ,这是为什么呢??
标签: flash actionscript