rendered paste bodypackage
{
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 atand(nx:Number, ny:Number):Number
{
if(Math.abs(nx) < Math.pow(10,-6))
{
if(Math.abs(ny) < Math.pow(10,-6))
return 0;
if(ny > 0)
return 90;
if(ny < 0)
return 270;
if (nx > 0)
{
if (ny >= 0)
return (180 * Math.atan(ny / nx) / Math.PI);
if (ny < 0)
return (180 * Math.atan(ny / nx) / Math.PI - (-1) * 360);
if (nx < 0)
{
if (ny >= 0)
return (180 - 180 * Math.atan(-ny / nx) / Math.PI);
if (ny<0)
return (-180 - (-1) * 180 * Math.atan(ny / nx) / Math.PI - (-1) * 360);
}
}
}
}
private function mouseMove(event:Event)
{
if(held)
{
var angle = Math.atan2((stage.mouseX - x), (stage.mouseY - y)) - initalAngle;
if (angle < 0)
angle = 2 * Math.PI + angle;
angle *= (180/Math.PI);
trace(angle);
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)
{
initalAngle = 0;
held = false;
}
}
}