Подскажите такую вещь, пытаюсь сделать простое движение объекта с клавиатуры:

Код AS3:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
var speed:Number = 10;
function keyPressed(evt:KeyboardEvent):void {
if (evt.keyCode == 39) {
this.hero.x += speed;
}
if (evt.keyCode == 37) {
this.hero.x -= speed;
}
}
Если нажать и держать клавишу Объект сначала делает 1 шаг на величину speed,
останавливается, затем движется как надо.
в AS2 делал аналогичное движение вот так:

Код AS1/AS2:
if (Key.isDown(Key.Right)) {
_x += speed;
}
if (Key.isDown(Key.DOWN)) {
_x -= speed;
}
Все работало замечательно, объект сразу двигался в нужном направлении без остановки. Как победить эту остановку в AS3?