гыыы

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.KeyboardEvent;
/**
* ...
* @author 1
*/
public class Main extends Sprite
{
private var tank:Sprite;
private var dx:Number;
private var dy:Number;
private function CreateTank():void {
tank = new Sprite();
tank.graphics.beginFill(0x800000);
tank.graphics.drawRoundRect( -15, -20, 30, 40, 5);
tank.graphics.beginFill(0x999999);
tank.graphics.drawRect( -3, -25, 6, 25);
tank.graphics.beginFill(0xbbbbbb);
tank.graphics.drawRect( -5, -30, 10, 7);
tank.graphics.beginFill(0xFF0000);
tank.graphics.drawCircle(0, 0, 10);
tank.graphics.endFill();
stage.addChild(tank);
tank.x = stage.stageWidth / 2;
tank.y = stage.stageHeight / 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);
// entry point
CreateTank();
dx = 0;
dy = 0;
stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyPressed);
stage.addEventListener(KeyboardEvent.KEY_UP, KeyDePressed);
stage.addEventListener(Event.ENTER_FRAME, TankMove)
}
private function TankMove(e:Event):void {
if (dx == 0 && dy == -1) { tank.rotation = 0 };
if (dx == 1 && dy == -1) { tank.rotation = 45 };
if (dx == 1 && dy == 0) { tank.rotation = 90 };
if (dx == 1 && dy == 1) { tank.rotation = 135 };
if (dx == 0 && dy == 1) { tank.rotation = 180 };
if (dx == -1 && dy == 1) { tank.rotation = 225 };
if (dx == -1 && dy == 0) { tank.rotation = 270 };
if (dx == -1 && dy == -1) { tank.rotation = 315 };
var c:Number = 5;
if (dx != 0 && dy != 0) {
c = Math.sqrt(c * c + c * c) / 2;
}
tank.x += dx * c;
tank.y += dy * c;
if (tank.x < 0) { tank.x += stage.stageWidth; }
if (tank.y < 0) { tank.y += stage.stageHeight; }
if (tank.x > stage.stageWidth) { tank.x -= stage.stageWidth; }
if (tank.y > stage.stageHeight) { tank.y -= stage.stageHeight; }
}
private function KeyPressed(e:KeyboardEvent):void {
var keyCode:Number = e.keyCode;
if (keyCode == 39 || keyCode == 68) {
dx = 1;
}
if (keyCode == 37 || keyCode == 65) {
dx = -1;
}
if (keyCode == 38 || keyCode == 87) {
dy = -1;
}
if (keyCode == 40 || keyCode == 83) {
dy = 1;
}
}
private function KeyDePressed(e:KeyboardEvent):void {
var keyCode:Number = e.keyCode;
if (keyCode == 39 || keyCode == 68) {
dx = 0;
}
if (keyCode == 37 || keyCode == 65) {
dx = 0;
}
if (keyCode == 38 || keyCode == 87) {
dy = 0;
}
if (keyCode == 40 || keyCode == 83) {
dy = 0;
}
}
}
}