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; } } }