В общем создавал уже тему о том как поворачивать объект относительно его центра мышью, мне дали пару советов, которые я объединил и создал нечто:

Код AS3:
private var moving:Boolean = false;
private var deltaAngle:Number; //стартовая разница между углом поворота объекта и мышью
private function rotateObject():void
{
if(moving) // того чтобы при первом клике объект сразу не прыгал на угол под которым висит мышь
{
var newDelta:Number = Math.atan2(this.mouseY - layout_mc.y, this.mouseX - layout_mc.x) - layout_mc.rotation; //разница между углом поворота объекта и мышью
if(deltaAngle < newDelta)
{
layout_mc.rotation += Math.abs(newDelta - deltaAngle);
}
else
{
if(deltaAngle > newDelta)
{
layout_mc.rotation -= Math.abs(newDelta - deltaAngle);
}
}
}
else
{
deltaAngle = Math.atan2(this.mouseY - layout_mc.y, this.mouseX - layout_mc.x) - layout_mc.rotation;
moving = true;
}
}
это "как-то" работает, но не совсем так как я ожидал, все крутится, но с артефактами и очень медленно, не успевает за мышью.
и второй, второстепенный вопрос, как отключить залипание мыши, например я нажал на объект, увел с него мышь, отжал, но объект думает что мышь все еще нажата, как это пофиксить?
вот пример с кодом который я привел:
http://zakatnov.ru/trash/circle.rar