rendered paste bodyimport flash.display.*;
var points:uint = 20;
var angleOffset:uint = 0;
var innerRadius:uint = 256;
var outerRadius:uint = 128;
var starX:uint = stage.stageWidth/2;
var starY:uint = stage.stageHeight/2;
var canvas:Shape = new Shape();
var g:Graphics = canvas.graphics;
addChild(canvas);
g.beginFill(0xFF0000);
if (points > 2) {
var step, halfStep, start, n, dx, dy;
// Calculate distance between points.
step = (Math.PI*2)/points;
halfStep = step/2;
// Calculate starting angle in radians
start = (angleOffset / 180) * Math.PI;
g.moveTo(starX+(Math.cos(start)*outerRadius), starY-(Math.sin(start)*outerRadius));
// Draw lines
for (n=1; n<=points; n++) {
dx = starX+Math.cos(start+(step*n)-halfStep)*innerRadius;
dy = starY-Math.sin(start+(step*n)-halfStep)*innerRadius;
trace("drawing to " + dx + "," + dy);
g.lineTo(dx, dy);
dx = starX+Math.cos(start+(step*n))*outerRadius;
dy = starY-Math.sin(start+(step*n))*outerRadius;
trace("drawing to " + dx + "," + dy);
g.lineTo(dx, dy);
}
}
// butts.