package { import flash.display.*; import flash.geom.*; import flash.events.*; [SWF(width='1024', height='768', backgroundColor='#000000', frameRate='30')] public class test extends Sprite { private var connections:uint = 2; private var count:uint = 10; private var speed:Number = 2.4; private var points:Vector. = new Vector.(); private var pObjs:Vector. = new Vector.(); public function test() { update(); draw(); stage.addEventListener(MouseEvent.CLICK,mouseClick); stage.addEventListener(Event.ENTER_FRAME,enterFrame); } private function mouseClick(e:MouseEvent):void { update(); } private function enterFrame(e:Event):void { for (var i:uint=0;i = new Vector.(); for(var j:uint=0;j = new Vector.(); gd.push(basicStroke(.1,0xFFFFFF,1)); for (var i:uint=0;i min && p.x != points[i].x && p.y != points[i].y) { dist = d; oP = points[i]; } } return oP; } private function distance(p1:Point,p2:Point):Number { return Math.sqrt(Math.pow((p1.x-p2.x),2)+Math.pow((p1.y-p2.y),2)); } private function vectorLine(x1:Number,y1:Number,x2:Number,y2:Number):GraphicsPath { var commands:Vector. = new Vector.(2,true); commands[0] = GraphicsPathCommand.MOVE_TO; commands[1] = GraphicsPathCommand.LINE_TO; var coords:Vector. = new Vector.(4,true); coords[0] = x1; coords[1] = y1; coords[2] = x2; coords[3] = y2; return new GraphicsPath(commands,coords); } private function basicStroke(thickness:Number=1, color:uint = 0, alpha:Number = 1.0):GraphicsStroke { return new GraphicsStroke(thickness,true,"normal","none","miter",3,new GraphicsSolidFill(color,alpha)); } } } import flash.geom.*; class pObject { private var _points:Vector.; private var _point:Point; private var _alpha:Number; public function get points():Vector. { return _points; } public function get point():Point { return _point; } public function get alpha():Number { return _alpha; } public function pObject(p:Point, points:Vector.) { _alpha = Math.random()*.7 + .1; _point = p; _points = points; } }