У меня нет удобного компилятора, но что-то вроде этого должно быть близко.
Глобальные переменные maxWidth, maxHeight, maxSize определяют наибольший круг, который будет соответствовать и где его можно нарисовать.
Функция drawOne () рисует круг случайного радиуса.Центр круга произвольно устанавливается равным как минимум радиусу круга от каждой стороны сцены.
Каждый тик таймера вызывает drawOne ().
import flash.events.TimerEvent;
import flash.utils.Timer;
// Timer ticks 20 times 500 msec apart
var circleTimer:Timer = new Timer(500, 20);
// designates listeners for the interval and completion events
circleTimer.addEventListener(TimerEvent.TIMER, onTick);
circleTimer.addEventListener(TimerEvent.TIMER_COMPLETE, onTimerComplete);
// starts the timer ticking
circleTimer.start();
function onTick(event:TimerEvent):void
{
trace("Count... " + event.target.currentCount);
drawOne();
}
function onTimerComplete(event:TimerEvent):void
{
trace("Play Done.");
}
// globals for size of stage, circles
var maxWidth:uint = stage.stageWidth;
var maxHeight:uint = stage.stageHeight;
var maxSize:uint = Math.min(maxWidth, maxHeight);
var minSize:uint = Math.min(20, Math.floor(maxSize/2));
function drawOne():void
{
// to fit box, radius must be 1/2 shortest side or less
var radius:uint = Math.max(Math.floor(Math.random() * maxSize/2), minSize);
// center circle at least radius from any side
var xCoord:uint = Math.random()*(maxWidth - 2*radius) + radius;
var yCoord:uint = Math.random()*(maxHeight - 2*radius) + radius;
graphics.beginFill(Math.random() * 0xffffff); // random color
graphics.drawCircle(xCoord,yCoord,radius);
graphics.endFill();
}
Надеюсь, что этопомогает ...