Лови

Код AS3:
import flash.events.MouseEvent;
import flash.display.Sprite;
import flash.display.DisplayObject;
var totalCircles:Number = 5; //Количество окружностей/линий
var lines:Sprite = new Sprite();
var drawFlag:Boolean = false;
this.addEventListener(MouseEvent.MOUSE_MOVE, drawLine);
for (var i:uint = 0; i < totalCircles; i++) {
var circle:Sprite = new Sprite();
circle.graphics.lineStyle(1, rndColor());
circle.graphics.beginFill(rndColor());
circle.graphics.drawCircle(0,0, rndRadius());
circle.x = rndCoord();
circle.y = rndCoord();
circle.name = "circle" + i;
circle.buttonMode = true;
this.addChild(circle)
circle.addEventListener(MouseEvent.MOUSE_DOWN, circle_mouseDown);
circle.addEventListener(MouseEvent.MOUSE_UP, circle_mouseUp);
}
function circle_mouseDown(event:MouseEvent):void {
drawFlag = true;
event.target.startDrag();
}
function circle_mouseUp(event:MouseEvent):void {
drawFlag = false;
event.target.stopDrag();
}
function drawLine(event:MouseEvent):void {
if (!drawFlag) return;
lines.graphics.clear();
lines.graphics.lineStyle(3, rndColor());
for (var i:uint = 0; i < totalCircles; i++) {
var dispObjCurr:DisplayObject = this.getChildByName("circle" + i);
var dispObjNext:DisplayObject = this.getChildByName("circle" + (i+1));
if (i == (totalCircles-1)) dispObjNext = this.getChildByName("circle0");
lines.graphics.moveTo(dispObjCurr.x, dispObjCurr.y);
lines.graphics.lineTo(dispObjNext.x, dispObjNext.y);
this.addChild(lines);
}
}
function rndColor():uint {
return Math.random() * 0xFFFFFF;
}
function rndRadius():uint {
return Math.random() * 50 + 30;
}
function rndCoord():uint {
return Math.random() * 300;
}