flash on 2015-8-31
♥0 |
Line 59 |
Modified 2015-08-31 03:15:34 |
MIT License
archived:2017-03-30 11:43:38
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/kB1G
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
vecVert = new Vector.<xVert>(0,false);
var a:xVert; var i:int; var k:int;
for (i=0;i<4;i+=1)
{
for (k=0;k<4;k+=1)
{
a = new xVert();
a.cx = k * 64 +128;
a.cy = i * 64 +128;
vecVert.push(a);
a.cx += Math.random() * 16;
a.cy += Math.random() * 16;
}//nextk
}//nexti
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var vecVert:Vector.<xVert>;
public var mx:Number = 0;
public var my:Number = 0;
public function getMag(ax:Number, ay:Number):Number
{ return Math.sqrt(ax*ax +ay*ay); }
public function onEnter(e:Event):void
{
mx = stage.mouseX; my = stage.mouseY;
graphics.clear();
graphics.lineStyle(2, 0);
var i:int; var num:int;
var a:xVert;
num = vecVert.length;
for (i=0;i<num;i+=1)
{
a = vecVert[i];
graphics.drawCircle(a.cx, a.cy, 8);
a.d = getMag(a.cx-mx, a.cy-my);
}//nexti
var vec:Vector.<xVert>;
vec = vecVert.sort(compVert);
graphics.moveTo(mx,my);
for (i=0;i<num;i+=1)
{
a = vec[i];
//if (i == 0) { graphics.moveTo(a.cx,a.cy); }
graphics.lineTo(a.cx, a.cy);
}//nexti
}//onenter
public function compVert(a:xVert, b:xVert):Number
{ return a.d - b.d;}
}//classend
}
internal class xVert
{
public var cx:Number = 0;
public var cy:Number = 0;
public var d:Number = 0;
}//xvert