flash on 2010-4-13

by kihon
♥0 | Line 69 | Modified 2010-04-13 23:14:53 | MIT License
play

ActionScript3 source code

/**
 * Copyright kihon ( http://wonderfl.net/user/kihon )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/zFpb
 */

package
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.KeyboardEvent;
 
	public class Main extends Sprite
	{
		private var player:Sprite;
		private var left:Boolean = false;
		private var right:Boolean = false;
		private var top:Boolean = false;
		private var bottom:Boolean = false;
		private const SPEED:int = 10;
 
		public function Main()
		{
			player = new Sprite();
			player.graphics.beginFill(0x0);
			player.graphics.drawCircle(0, 0, 20);
			player.graphics.endFill();
			player.x = player.y = 232;
			addChild(player);
 
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
			stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown);
			stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUp);
		}
 
		private function onEnterFrame(event:Event):void
		{
			var speed:Number = SPEED * Math.cos(45 * Math.PI / 180);
 
			if (left && top) 
			{
				player.x -= speed;
				player.y -= speed;
			}
			else if (top && right)
			{
				player.x += speed;
				player.y -= speed;
			}
			else if (right && bottom)
			{
				player.x += speed;
				player.y += speed;
			}
			else if (bottom && left)
			{
				player.x -= speed;
				player.y += speed;
			}
			else if (left) player.x -= SPEED;
			else if (right) player.x += SPEED;
			else if (top) player.y -= SPEED;
			else if (bottom) player.y += SPEED;
		}
 
		private function onKeyDown(event:KeyboardEvent):void
		{
			if (event.keyCode == 37) left = true;
			if (event.keyCode == 39) right = true;
			if (event.keyCode == 38) top = true;
			if (event.keyCode == 40) bottom = true;
		}
 
		private function onKeyUp(event:KeyboardEvent):void
		{
			if (event.keyCode == 37) left = false;
			if (event.keyCode == 39) right = false;
			if (event.keyCode == 38) top = false;
			if (event.keyCode == 40) bottom = false;
		}
	}
}