Age/Gender: n/a, Male
Location: New Mexico
Job: Student
Rusty Air.
Newgrounds Stats
Whistle Status: Garbage
Exp. Points: 590 / 710
Exp. Rank #: 75,644
Voting Pow.: 5.00 votes
BBS Posts: 664 (0.44 per day)
Flash Reviews: 2
Music Reviews: 0
Trophies: 0
Latest News
WEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE.
Click - Add new point.
Scroll - Increase/Decrease distances.
Ctrl - Delete oldest point
Shift - Delete newest point.
It took me a while, but I studied up on "Node Code" and came out pretty good. I'm trying to find a way to turn it into a game, but I don't want to get distracted. Doing this in C++ for performance increase is a possibility.
_______________________
stage.quality = "LOW";
var xlimit:Number = stage.stageWidth;
var ylimit:Number = stage.stageHeight;
var points:Array = new Array();
var i:int = 0;
var j:int = 0;
var gf:Number = .2;
var fr:Number = .1;
var sf:Number = .009;
var bn:Number = -.8;
var md:Number = 110;
stage.addEventListener(MouseEvent.MOUS E_DOWN, mouseDown);
function mouseDown(evnt:MouseEvent):void {
var point:Array = new Array(new Point(mouseX,mouseY),0,0);
points.push(point);
}
stage.addEventListener(Event.ENTER_FRA ME, enterFrame);
function enterFrame(evnt:Event):void {
graphics.clear();
graphics.lineStyle(1,0xFFFFFF,.07);
for (i=0; i<points.length; i++) {
var p1:Array = points[i] as Array;
p1[1] -= fr*Math.cos(Math.atan2(p1[2], p1[1]));
p1[2] -= fr*Math.sin(Math.atan2(p1[2], p1[1]));
p1[2] += gf;
p1[0].x += p1[1];
p1[0].y += p1[2];
if (p1[0].x>xlimit) {
p1[0].x = xlimit;
p1[1] *= bn;
}
if (p1[0].y>ylimit) {
p1[0].y = ylimit;
p1[2] *= bn;
}
if (p1[0].x<0) {
p1[0].x = 0;
p1[1] *= bn;
}
for (j=i+1; j<points.length; j++) {
var p2:Array = points[j] as Array;
var dx:Number = p2[0].x - p1[0].x;
var dy:Number = p2[0].y - p1[0].y;
if (Math.sqrt(dx*dx+dy*dy) < md) {
p1[1] -= dx*sf;
p1[2] -= dy*sf;
p2[1] += dx*sf;
p2[2] += dy*sf;
}
}
}
for (i=0; i<points.length; i++) {
p1 = points[i] as Array;
for (j=i+1; j<points.length; j++) {
p2 = points[j] as Array;
graphics.moveTo(p1[0].x, p1[0].y);
graphics.lineTo(p2[0].x, p2[0].y);
}
}
}
stage.addEventListener(KeyboardEvent.K EY_DOWN, keyDown);
function keyDown(evnt:KeyboardEvent):void {
if (evnt.keyCode == 17) {
points.splice(0,1);
}
if (evnt.keyCode == 16) {
points.splice(points.length-1,1);
}
}
stage.addEventListener(MouseEvent.MOUS E_WHEEL, mouseRoll);
function mouseRoll(evnt:MouseEvent):void {
md += evnt.delta;
}