вот код просто крутящейся точки, остальные ваши проблемы я не до конца понял.

Код AS3:
import flash.display.Sprite;
import flash.events.Event;
var point:Sprite = new Sprite();
point.graphics.beginFill(0x436666);
point.graphics.drawCircle(0,0,5);
point.graphics.endFill();
var human:Sprite = new Sprite();
human.graphics.beginFill(0x4742555);
human.graphics.drawRect(0,0,20,40);
human.graphics.endFill();
var humanPosX:Number = 100;
var humanPosY:Number = 100;
addChild(human);
addChild(point);
human.x = humanPosX;
human.y = humanPosY;
var angleChangeValue:Number = -5 * Math.PI/ 180;
this.addEventListener(Event.ENTER_FRAME,onEnterF);
var distance:int = 50; // удаление точки от объекта
var angle:Number = 0; // начальный угол поворота
function onEnterF(e:Event){
point.x = distance * Math.sin(angle) + humanPosX+ human.width*0.5;
point.y = distance * Math.cos(angle) + humanPosY+ human.height*0.5;
angle+=angleChangeValue;
}
дальше вам нужно создать функцию, которая запускалась бы от нажатия клавиши, и в ней меняйте угол поворота на столько , на сколько нужно
вот здесь

Код AS3:
var angleChangeValue:Number = -5 * Math.PI/ 180; //вместо 5 пишем на сколько градусов должен измениться угол за нажатие