Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class Main extends Sprite
{
private var _auto:Sprite;
private var _keyW:Boolean = false;
private var _keyS:Boolean = false;
private var _keyA:Boolean = false;
private var _keyD:Boolean = false;
private var _speed:Number = 2;
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
//// рисуем "машинку"
_auto = new Sprite();
_auto.graphics.beginFill(0x666666);
_auto.graphics.drawRoundRectComplex(0, 0, 50, 100, 10, 10, 0, 0);
this.addChild(_auto);
_auto.x = 250;
_auto.y = 250;
//// слушатели клавиатуры
this.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
this.stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
//// слушатель ентерфрейм
this.addEventListener(Event.ENTER_FRAME, enterFrameHandler);
}
private function enterFrameHandler(event:Event):void
{
if (_keyA) _auto.x -= _speed;
if (_keyD) _auto.x += _speed;
if (_keyW) _auto.y -= _speed;
if (_keyS) _auto.y += _speed;
}
private function keyUpHandler(event:KeyboardEvent):void
{
switch(event.keyCode)
{
case Keyboard.W : _keyW = false;
break;
case Keyboard.S : _keyS = false;
break;
case Keyboard.A : _keyA = false;
break;
case Keyboard.D : _keyD = false;
break;
}
}
private function keyDownHandler(event:KeyboardEvent):void
{
switch(event.keyCode)
{
case Keyboard.W : _keyW = true;
break;
case Keyboard.S : _keyS = true;
break;
case Keyboard.A : _keyA = true;
break;
case Keyboard.D : _keyD = true;
break;
}
}
}
}