flash on 2013-1-22
♥0 |
Line 80 |
Modified 2013-01-22 22:02:20 |
MIT License
archived:2017-03-30 22:54:29
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/5NRa
*/
package {
import flash.events.Event;
import flash.geom.Point;
import flash.display.Sprite;
public class FlashTest extends Sprite {
public function FlashTest() {
graphics.clear();
graphics.lineStyle(1,0);
vec = new Vector.<wNode>(0,false);
var w:wNode;
w = new wNode(100,100);
vec.push(w);
stage.addEventListener(Event.ENTER_FRAME, onEnter);
}//ctor
public var it:int = 0;
public var vec:Vector.<wNode>;
public function onEnter(e:Event):void
{
var w:wNode;
var m:wNode;
var num:int;
it +=1 ;
graphics.lineStyle(1,0);
if (it >= 70) {
it = 0;
graphics.clear();
vec = new Vector.<wNode>;
w = new wNode(200,200);
vec.push(w);
}//endif
if (it > 64) { return; }
var k:int;
num = vec.length;
for (k = 0; k < num; k++)
{
w = vec[k];
if (w.hp <= 0)
{
continue;
}
w.px = w.cx;
w.py = w.cy;
w.cx += Math.cos(w.ang) * 8;
w.cy += Math.sin(w.ang) * 8;
w.ang += (Math.random()-Math.random());
w.hp -=1;
if (w.hp <= 0)
{ graphics.drawCircle(w.cx,w.cy, 4); }
graphics.moveTo(w.px, w.py);
graphics.lineTo(w.cx,w.cy);
// graphics.drawCircle(w.cx,w.cy, 8);
if (num < 32)
if (Math.random() < 0.15)
{
// graphics.drawCircle(w.cx,w.cy, 4);
m = new wNode(w.cx, w.cy);
m.ang = w.ang + (Math.random()-Math.random());
m.hp = w.hp / 2;
w.hp /= 2;
vec.push(m);
}//endif
}//nextk
}//onenter
}//classend
}
internal class wNode
{
public var ang:Number = 0;
public var cx:Number = 0;
public var cy:Number = 0;
public var hp:Number = 0;
public var px:Number = 0;
public var py:Number = 0;
public function wNode(x:Number, y:Number)
{
cx = x;
cy = y;
px = x;
py = y;
hp = 80;
}//ctor
}//wnode