была минутка, я накидал вам пример, как примерно, сделал бы я

Код AS3:
package {
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class Main extends Sprite {
private var _speedsX:Object;
private var _speedsY:Object;
private var _car:Sprite;
private var _speedOfCarX:int;
private var _speedOfCarY:int;
public function Main() {
super();
//{определяем скорость для соответствующих клавиш
//для оси x
this._speedsX = { };
this._speedsX[Keyboard.RIGHT] = 3;
this._speedsX[Keyboard.LEFT] = -3;
//для оси у
this._speedsY = { };
this._speedsY[Keyboard.UP] = -3;
this._speedsY[Keyboard.DOWN] = 4;
//}
//{рисуем тестовую машинку
this._car = new Sprite();
const g:Graphics = this._car.graphics
g.beginFill(0x000000, 1.0);
g.drawRect(0, 0, 50, 50);
g.endFill();
super.addChild(this._car);
//}
if (super.stage) {
this.super_addedToStageHandler();
} else {
super.addEventListener(Event.ADDED_TO_STAGE, this.super_addedToStageHandler);
}
}
private function super_addedToStageHandler(event:Event = null):void {
super.removeEventListener(Event.ADDED_TO_STAGE, this.super_addedToStageHandler);
super.addEventListener(Event.REMOVED_FROM_STAGE, this.super_removedFromStageHandler)
super.stage.addEventListener(KeyboardEvent.KEY_DOWN, this.stage_keyDownHandler);
super.stage.addEventListener(KeyboardEvent.KEY_UP, this.stage_keyUpHandler);
//Запускаем общеигровой цикл
super.addEventListener(Event.ENTER_FRAME, this.super_enterFrameHandler);
}
private function super_removedFromStageHandler(event:Event):void {
this.removeEventListener(Event.REMOVED_FROM_STAGE, super_removedFromStageHandler);
super.stage.removeEventListener(KeyboardEvent.KEY_DOWN, this.stage_keyDownHandler);
super.stage.removeEventListener(KeyboardEvent.KEY_UP, this.stage_keyUpHandler);
super.removeEventListener(Event.ENTER_FRAME, this.super_enterFrameHandler);
}
private function stage_keyDownHandler(event:KeyboardEvent):void {
const keyCode:uint = event.keyCode;
if (keyCode in this._speedsX) {
this._speedOfCarX = this._speedsX[keyCode];
} else {
this._speedOfCarX = 0;
}
if (keyCode in this._speedsY) {
this._speedOfCarY = this._speedsY[keyCode];
} else {
this._speedOfCarY = 0;
}
}
private function stage_keyUpHandler(event:KeyboardEvent):void {
this._speedOfCarX = 0;
this._speedOfCarY = 0;
}
private function super_enterFrameHandler(event:Event):void {
//обновляем позицию "авто"
this._car.x += this._speedOfCarX;
this._car.y += this._speedOfCarY;
}
}
}
но идея такого перемещения не самая удачная