Здравствуйте! не стал создавать новую тему, так как проблема схожа. Есть 2 клипа _a и _b, и обработчик клавишь. Клипы с помощью клавиатуры двигаются вправо и влево, проблема в том, что обрабатывается последняя нажатая клавиша а не все нажатые... подскажите что делать

Код:
stop();
_root[attachMovie("_a", "_a", 1,{_x:100, _y:200})];
_root[attachMovie("_b", "_b", 2,{_x:300, _y:200})];
var listener:Object = new Object();
Key.addListener(listener);
listener.onKeyDown = function() {
trace("onKeyDown: "+this._name+" (Key: "+getKeyPressed()+")");
if(getKeyPressed()=="a"){_root._a._x-=10}
if(getKeyPressed()=="d"){_root._a._x+=10}
if(getKeyPressed()=="w"){_root._a._y-=10}
if(getKeyPressed()=="s"){_root._a._y+=10}
if(getKeyPressed()=="LEFT"){_root._b._x-=10}
if(getKeyPressed()=="RIGHT"){_root._b._x+=10}
if(getKeyPressed()=="UP"){_root._b._y-=10}
if(getKeyPressed()=="DOWN"){_root._b._y+=10}
};
listener.onKeyUp = function() {
trace("onKeyUp: "+this._name+" (Key: "+getKeyPressed()+")");
};
function getKeyPressed():String {
var theKey:String;
switch (Key.getCode()) {
case Key.LEFT :
theKey = "LEFT";
break;
case Key.RIGHT :
theKey = "RIGHT";
break;
case Key.UP :
theKey = "UP";
break;
case Key.DOWN :
theKey = "DOWN";
break;
default :
theKey = chr(Key.getAscii());
}
return theKey;
}