эта тема стопицот раз обсуждалась (поиск лучше использовать)
вот быстренько код накидал, один из вариантов, как можно сделать. (можно и по-другому, например draw и матрицы поворота использовать)

Код AS3:
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Point;
[SWF(width=500, height=400, frameRate=31)]
public class Rectangle extends Sprite
{
private var _rect:Sprite;
private var _rectContainer:Sprite;
private var _size:int = 100;
private var _x:Number = 300.0;
private var _y:Number = 200.0;
public function Rectangle()
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
if (hasEventListener(Event.ADDED_TO_STAGE))
removeEventListener(Event.ADDED_TO_STAGE, init);
_rect = new Sprite();
_rect.graphics.beginFill(0x175BC1);
_rect.graphics.drawRect(0, 0, _size, _size);
_rect.graphics.endFill();
_rect.graphics.beginFill(0x8D23B6);
_rect.graphics.drawCircle(_size -10, _size / 2, 10);
_rect.x = -_size/2;
_rect.y = -_size/2;
_rectContainer = new Sprite();
_rectContainer.addChild(_rect);
_rectContainer.x = _x;
_rectContainer.y = _y;
addChild(_rectContainer);
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
}
private function mouseMoveHandler(e:MouseEvent):void
{
var dx:Number = e.stageX - _x;
var dy:Number = e.stageY - _y;
var angle:Number = Math.atan2(dy, dx) * 180 / Math.PI;
_rectContainer.rotation = angle;
}
}