
Код AS3:
var centerX:Number = stage.stageWidth / 2;
var centerY:Number = stage.stageHeight / 2;
var radiusX:Number = 150;
var radiusY:Number = 50;
var numButtons:Number = 10;
var speed:Number = 0.1;
for (var i:Number = 0; i < numButtons; i++)
{
var mc:square = new square();
addChild(mc);
mc.itemAngle = Math.PI * 2 / numButtons * i;
mc.addEventListener(Event.ENTER_FRAME, animate);
}
function animate(e:Event):void
{
e.currentTarget.x = Math.cos(e.currentTarget.itemAngle) * radiusX + centerX;
e.currentTarget.y = Math.sin(e.currentTarget.itemAngle) * radiusY + centerY;
e.currentTarget.itemAngle += speed;
}
Простейший алгоритм вращения нескольких объектов по овалу. Если radiusX = radiusY, то по кругу. Класс square - вращаемый объект, numButtons - количество. Если один объект то будет ещё проще.