Вот вариант, пофигу где мышь отпущена

Код AS3:
package
{
import flash.display.Sprite;
import flash.display.MovieClip;
import flash.events.MouseEvent;
/**
* volume control
* @author dedsky
*/
public class VolumeControl1 extends Sprite
{
private var turning:Boolean;
private var an1:Number;
private var an2:Number;
public function VolumeControl1()
{
turning = false;
cHandle.addEventListener(MouseEvent.MOUSE_DOWN, onMouseDownListener);
stage.addEventListener(MouseEvent.MOUSE_UP, onMouseUpListener);
stage.addEventListener(MouseEvent.MOUSE_MOVE, startTurning);
}
//мышь нажата над cHandle
public function onMouseDownListener(event:MouseEvent):void
{
turning = true;
an1 = Math.atan2(cHandle.mouseY, cHandle.mouseX);
}
//движение мыши
public function startTurning(event:MouseEvent):void
{
if (turning) {
an2 = Math.atan2(cHandle.mouseY, cHandle.mouseX);
cHandle.rotation += (an2 - an1) * 180 / Math.PI;
//независимость от скорости воспроизведения
event.updateAfterEvent();
}
}
//кнопка мыши отпущена
public function onMouseUpListener(event:MouseEvent):void
{
turning = false;
}
}
}