Forked from: shapevent's Connect The Dots diff:1 forked from: Connect The Dots John.Miller forked:0favorite:0lines:42license : MIT License modified : 2011-06-13 13:58:05 Embed Tweet // forked from shapevent's Connect The Dots package { import flash.display.*; import flash.events.*; import flash.geom.*; [SWF(width = 500, height = 500)] public class ConnectTheDots extends MovieClip { private const TWO_PI:Number = Math.PI * 2; private var centerX:Number; private var centerY:Number; public function ConnectTheDots(){ // init centerX = stage.stageWidth / 2; centerY = stage.stageHeight / 2; addEventListener(Event.ENTER_FRAME, onLoop); } // private methods private function onLoop(evt:Event):void{ // data var points:Array = []; var i:int = 0; var pointNum : int = Math.max(2,int(mouseX / 12)) var radius:Number = 200; var step:Number = TWO_PI / pointNum; var theta:Number = step / 2; for (i = 0; i<pointNum; i++){ var xp:Number = centerX + radius * Math.cos(theta); var yp:Number = centerY + radius * Math.sin(theta); points[i] = new Point(xp, yp); theta += step; } // render graphics.clear(); graphics.lineStyle(0,0); for ( i = 0; i<pointNum; i++){ var a:Point = points[i]; for (var j:int = i+1; j<pointNum; j++){ var b:Point = points[j]; graphics.drawCircle(a.x, a.y, 10); graphics.moveTo(a.x, a.y); graphics.lineTo(b.x, b.y); } } graphics.drawCircle(a.x, a.y, 10); } } } Code Fullscreen Preview Fullscreen drawCircle mouseX clear addEventListener MovieClip moveTo lineStyle lineTo Point Math.max stageWidth stageHeight Math.cos Event.ENTER_FRAME Math.sin Math.PI Event Array int Number