Если совсем просто, то вот так -

Код AS3:
package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.geom.Point;
public class MoveSpeed extends Sprite
{
private var _targets:Array;
public function MoveSpeed()
{
_targets = [];
//радиус окружности
_radius = 100;
//длина окружности
var straightLength:Number = 2 * Math.PI * _radius;
//центр окружности
_center = new Point(180, 180);
//прямая равная длине окружности
var straight:Sprite = new Sprite();
straight.graphics.lineStyle(2, 0x55EA64);
straight.graphics.moveTo(10, 50);
straight.graphics.lineTo(10 + straightLength, 50);
addChild(straight);
//окружность
var circle:Sprite = new Sprite();
circle.graphics.lineStyle(2, 0x55EA64);
circle.graphics.drawCircle(0, 0, _radius);
circle.graphics.endFill();
circle.x = _center.x;
circle.y = _center.y;
addChild(circle);
//два кружка которые будем двигать
var target0:Sprite = new Sprite();
target0.graphics.beginFill(0xEBC154);
target0.graphics.drawCircle(0, 0, 10);
target0.graphics.endFill();
target0.x = 400;
target0.y = 300;
addChild(target0);
var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xEBC154);
target1.graphics.drawCircle(0, 0, 10);
target1.graphics.endFill();
target1.x = 10;
target1.y = 50;
addChild(target1);
_targets[0] = target0;
_targets[1] = target1;
//теперь настраиваем анимацию для вращения по окружности
_start0 = target0.rotation;//начальное значение
_finish0 = 360 - _start0//конечное значение минус начальное
//настройки для перемещения по прямой
_start1 = target1.x;
_finish1 = 10 + straightLength - _start1;
//время за которое должна выполнится анимация
_delay = 6;
//узнаем кол-во кадров
_frameRate = stage.frameRate;
stage.addEventListener(Event.ENTER_FRAME, stage_enterFrameHandler);
}
private var _allTime:Number = 0;
private var _delay:Number;
private var _angle:Number = 360;
private var _angleRatio:Number = 0;
private var _start0:Number;
private var _finish0:Number;
private var _start1:Number;
private var _finish1:Number;
private var _center:Point;
private var _radius:Number;
private var _frameRate:Number;
private function stage_enterFrameHandler(event:Event):void
{
var time:Number = 1 / 1000 * _frameRate;
_allTime += time / _delay;
var angleRatio:Number = _allTime * _finish0 + _start0;
var lineRatio:Number = _allTime * _finish1 + _start1;
_targets[0].x = Math.cos(angleRatio * Math.PI / 180) * _radius + _center.x;
_targets[0].y = Math.sin(angleRatio * Math.PI / 180) * _radius + _center.y;
_targets[1].x = lineRatio;
if (_allTime >= 1)
{
_allTime = 0;
}
}
}
}