flash on 2015-7-4
♥0 |
Line 53 |
Modified 2015-07-04 01:05:54 |
MIT License
archived:2017-03-30 11:46:04
ActionScript3 source code
/**
* Copyright mutantleg ( http://wonderfl.net/user/mutantleg )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/p6Vl
*/
package {
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
graphics.lineStyle(2, 0);
var vec:Vector.<xPnt>;
vec = new Vector.<xPnt>(0,false);
var i:int; var a:xPnt;
for (i =0; i < 16; i++)
{
a = new xPnt();
a.cx = Math.random()*400+30;
a.cy = Math.random()*400+30;
vec.push(a);
graphics.drawCircle(a.cx,a.cy, 8);
}//nexti
var ax:Number; var ay:Number;
var num:int;
var k:int;
ax = 60; ay = 60;
num = vec.length;
for (k = 0; k<num;k++)
{
var ret:xPnt;
var d:Number; var m:Number;
ret = null;
m = 4096;
for (i =0;i<num;i++)
{
a = vec[i];
if (a.check > 0) { continue; }
d = getDist(ax-a.cx, ay-a.cy);
if (d > m) { continue; }
m = d; ret = a;
}//nexti
if (ret == null) { break; }
a = ret;
a.check = 1;
graphics.moveTo(ax,ay);
graphics.lineTo(a.cx,a.cy);
ax = a.cx; ay = a.cy;
}//nextk
}//ctor
public function getDist(ax:Number, ay:Number):Number
{ return Math.sqrt(ax*ax+ay*ay); }
}//classend
}
internal class xPnt
{
public var cx:Number = 0;
public var cy:Number = 0;
public var check:int = 0;
}//xpnt