CLICK HERE TO COPY
Actionscript:
var angOffset:Number = 0;
var percent:Number = 0;
var dial:Sprite = Sprite(addChild(new Sprite()));
with(dial.graphics) lineStyle(1, 0x000000), beginFill(0xCCCCCC), drawCircle(0,0,100), lineTo(0,0);
dial.x = stage.stageWidth / 2;
dial.y = stage.stageHeight / 2;
dial.addEventListener(MouseEvent.MOUSE_DOWN, onDialDown);
stage.addEventListener(MouseEvent.MOUSE_UP, onStageUp);
function onDialDown(evt:MouseEvent):void {
calcOffset();
dial.addEventListener(Event.ENTER_FRAME, onRotateDial);
}
function calcOffset():void {
angOffset = Math.atan2(mouseY - dial.y, mouseX - dial.x) / Math.PI * 180 - dial.rotation;
}
function onRotateDial(evt:Event):void {
[...]