Может поможет такой вариант. Тут создаётся прямоугольник, который постоянно крутиться, а клик по сцене - задаёт новую точку вокруг которой он будет крутится.

Код AS3:
package
{
import fl.motion.MatrixTransformer;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Matrix;
import flash.geom.Point;
/**
* ...
* @author Samana
*/
public class Main extends Sprite
{
//точка трансформации для mc
private var center:Point = new Point(300, 300);
//матрица
private var matrix:Matrix = new Matrix();
//угол на который будет поворачиваться mc
private var ang:Number = 3;
//сам спрайт mc
private var mc:Sprite;
public function Main():void
{
//нарисовал спрайт прямоугольник
mc = new Sprite();
mc.graphics.beginFill(0x00FFcc);
mc.graphics.drawRect(0, 0, 150, 80);
mc.graphics.endFill();
//передвинул сюда
mc.x = 300;
mc.y = 300;
addChild(mc);
stage.addEventListener(MouseEvent.CLICK, newPoint)
stage.addEventListener(Event.ENTER_FRAME,rotate)
}
private function newPoint(e:MouseEvent):void
{
//новая точка трансформации для поворота
center.x = mouseX;
center.y = mouseY;
}
private function rotate(e:Event):void
{
//беру текущую матрицу mc
matrix = mc.transform.matrix;
//задаю нувую точку для поворота матрицы, и угол
MatrixTransformer.rotateAroundExternalPoint(matrix, center.x, center.y, ang);
//применяю изменившуюся матрицу к mc
mc.transform.matrix = matrix;
}
}
}