wont respond to keyboard up left and space, at the same time
Hello, I have 2 functions for releasing and pressing keys, for the 5 buttons: arrow buttons and space. there are no problems at all when i dont press space, everything works. but when I press space, and then left and up at the same time, the last 2 wont respond. if i press either of them first, and then the other after that, only the last one of them wont respond. strangely, this doesnt happen when i press left and down, right and down, or up and right. only with left and up.
these are the functions:
PHP Code:
protected function keyPressed(e:KeyboardEvent):void
{
if (Boolean(keysDown[e.keyCode]))
{return;}
keysDown[e.keyCode] = true;
switch (e.keyCode)
{
case (LEFT)://arrow-left
kine.setHSpeed(-SPEED);
break;
case (UP)://arrow-up
kine.setVSpeed(-SPEED);
break;
case (RIGHT)://arrow-right
kine.setHSpeed(SPEED);
break;
case (DOWN)://arrow-down
kine.setVSpeed(SPEED);
break;
case (SPACE)://shift
weapon.shoot(x,y);
shootTimer.start();
break;
default:
return;
}
}
and for releasing:
PHP Code:
protected function keyReleased(e:KeyboardEvent):void
{
keysDown[e.keyCode] = false;
switch (e.keyCode)
{
case (LEFT)://arrow-left
//trace("left key released");
if (keysDown[RIGHT])
{
kine.setHSpeed(SPEED);
}
else
{
kine.setHSpeed(0);
}
break;
case (UP)://arrow-up
//trace("up key released");
if (keysDown[DOWN])
{
kine.setVSpeed(SPEED);
}
else
{
kine.setVSpeed(0);
}
break;
case (RIGHT)://arrow-right
//trace("right key released");
if (keysDown[LEFT])
{
kine.setHSpeed(-SPEED);
}
else
{
kine.setHSpeed(0);
}
break;
case (DOWN)://arrow-down
//trace("down key released");
if (keysDown[UP])
{
kine.setVSpeed(-SPEED);
}
else
{
kine.setVSpeed(0);
}
break;
case (SPACE)://shift
shootTimer.reset();
break;
}
}
I cant find the problem atall. have been looking for it quite some time.
Thanks, in advance.