All pastes #382978 Raw Edit

Stuff

public text v1 · immutable
·published 2007-03-06 01:17 UTC
rendered paste body
package
{
	import flash.display.MovieClip;
	import flash.display.Shape;
	import flash.events.MouseEvent;
	import flash.events.Event;
	
	public class Desktop extends MovieClip
	{
		var bgImage:Shape = new Shape();
		var held = false;
		var initalAngle:Number;
		
		public function Desktop()
		{
			bgImage.graphics.beginFill("0x330000");
            bgImage.graphics.drawRect(-500, -500, 1000, 1000);
            bgImage.graphics.endFill();
			
			addChild(bgImage);
			
			this.useHandCursor = true;
			
			addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
			addEventListener(MouseEvent.MOUSE_UP, mouseUp);
			addEventListener(Event.ADDED, added);
			addEventListener(MouseEvent.MOUSE_MOVE, mouseMove);
		}

		private function mouseMove(event:Event)
		{
			if(held)
			{
				var angle = Math.atan2((stage.mouseX - x), (stage.mouseY - y));
			
				if (angle < 0)
					angle = 2 * Math.PI + angle;
				
				angle *= (180/Math.PI);
				
				rotation = -angle + initalAngle;
			}
		}
		
		private function added(event:Event)
		{
			x = stage.stageWidth/2;
			y = stage.stageHeight/2;
		}

		private function mouseDown(event:MouseEvent)
		{
			initalAngle = Math.atan2((stage.mouseX - x), (stage.mouseY - y));
			held = true;
		}
		
		private function mouseUp(event:MouseEvent)
		{
			held = false;
		}
	}
}