flash on 2015-8-4
♥0 |
Line 64 |
Modified 2015-08-04 05:00:37 |
MIT License
archived:2017-03-30 11:44:30
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/mvWr
*/
package {
import flash.events.Event;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
vecRect = new Vector.<xRect>(0,false);
var i:int; var a:xRect;
for(i=0;i<32;i+=1)
{
a = new xRect();
a.cx = Math.random()*465;
a.cy = Math.random()*465;
var ta:Number;
ta = Math.random()*6.28;
a.vx = Math.cos(ta);
a.vy = Math.sin(ta);
vecRect.push(a );
}//nexti
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var vecRect:Vector.<xRect>;
public function onEnter(e:Event):void
{
graphics.clear();
graphics.lineStyle(2, 0);
var i:int; var num:int;
var a:xRect; var b:xRect;
num =vecRect.length;
for (i=0;i<num;i+=1)
{
a = vecRect[i];
graphics.drawCircle(a.cx,a.cy, 4);
a.cx += a.vx;
a.cy += a.vy;
if (a.vx < 0 && a.cx<0) { a.vx *= -1; }
else if (a.vx > 0 && a.cx > 465) { a.vx*=-1;}
if (a.vy < 0 && a.cy < 0) { a.vy *= -1; }
else if (a.vy > 0 && a.cy > 465) { a.vy *= -1;}
if (i>=num-1) { continue; }
b = vecRect[i+1];
if (a.cx > b.cx)
{
vecRect[i] = b;
vecRect[i+1]=a;
}
}//nexti
num =vecRect.length;
a = vecRect[0];
graphics.moveTo(a.cx,a.cy);
for (i=0;i<num;i+=1)
{
a =vecRect[i];
graphics.lineTo(a.cx,a.cy);
}//nexti
}//onenter
}//classend
}
internal class xRect
{
public var cx:Number = 0;
public var cy:Number = 0;
public var vx:Number = 0;
public var vy:Number = 0;
}//xrect