Попробуйте что-то вроде этого:
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyDown);
someMC.addEventListener(Event.ENTER_FRAME, enterFrameUpdate);
var isADown:Boolean = false;
function keyDown(e:KeyboardEvent){
if(e.keyCode == Keyboard.A){
isADown = true;
}
}
function keyUP(e:KeyboardEvent){
if(e.keyCode == Keyboard.A){
isADown = false;
}
}
function enterFrameUpdate(e:Event){
if(isADown){
myMovieClip.x -= 3;
}
}
Импорты:
flash.events.KeyboardEvent;
flash.events.Event;
flash.ui.Keyboard;
//and a few more
Также увеличьте FPS SWF, если он все еще находится в резком (но равномерном) движении.Нажмите на пустую часть сцены (главный экран), а затем нажмите CTRL-F3 или экран свойств, и вы сможете изменить FPS там.