var C = new Canvas(Canvas.as);
var originx = 0;
var originy = 1;
var pos=new Array(0, 1);
var width = .5;
var height = .99;
function character(C, pos, width, height) {
// main character function accepts canvas, position, and dimensions
// number crunching
// function variables
// drawing key point variables
var centerLine = (pos[0] + (width * .5)) + math.random()/100; // rocket
centerline
var half_span = .1 * width; // half the width of the rocket
var ay = pos[1] - (.99 * height); // height of tip of nose
var by = pos[1] - (.85 * height); // height of 1st cross
var cy = pos[1] - (.7 * height); // height of 2nd cross & wings start
var dy = pos[1] - (.55 * height); // height of 3rd cross
var ey = pos[1] - (.4 * height); // height of 4th cross, last
var fy = pos[1] - (.3 * height); // height of mid tail wide
var f_half_span = .15 * width; // half of tail wide span
var gy = pos[1] - (.5 * height); // height of first wing corners
var g_half_span = .35 * width; // half of 1st wing corner span
var hy = pos[1] - (.35 * height); // height of lower wing corners
var h_half_span = .35 * width; // half of the lowest wing corner span
var ran1 = (((math.random())/30)); // Random value
var ran2 = (((math.random())/30)); // Random value
var ran3 = (((math.random())/30)); // Random value
var ran4 = (((math.random())/30)); // Random value
var ran5 = (((math.random())/30)); // Random value
var ran6 = (((math.random())/30)); // Random value
var ran7 = (((math.random())/30)); // Random value
var ran8 = (((math.random())/30)); // Random value
var ran9 = (((math.random())/30)); // Random value
var run1 = (((math.random())/35)); // Random value
var run2 = (((math.random())/35)); // Random value
var run3 = (((math.random())/35)); // Random value
var run4 = (((math.random())/35)); // Random value
var run5 = (((math.random())/35)); // Random value
// Rocket Body variables
var r1=new Array(centerLine, ay);
var r2l=new Array(centerLine - half_span, by);
var r3l=new Array(centerLine - half_span, cy);
var r4l=new Array(centerLine - half_span, dy);
var r5l=new Array(centerLine - half_span, ey);
var r6l=new Array(centerLine - f_half_span, fy);
var r6r=new Array(centerLine + f_half_span, fy);
var r5r=new Array(centerLine + half_span, ey);
var r4r=new Array(centerLine + half_span, dy);
var r3r=new Array(centerLine + half_span, cy);
var r2r=new Array(centerLine + half_span, by);
// Draw filled body
c.setPenColor(.3, .4, .9)
var rocket_body=new Array(r1,r2l,r3l,r4l,r5l,r6l,r6r,r5r,r4r,r3r,r2r)
c.drawRegion(true, rocket_body);
// Rocket Wings Variables
// Left Wing
var rwl1=new Array(centerLine - half_span, cy);
var rwl2=new Array(centerLine - g_half_span, gy);
var rwl3=new Array(centerLine - h_half_span, hy);
var rwl4=new Array(centerLine - half_span, ey);
var left_wing=new Array(rwl1,rwl2,rwl3,rwl4);
// Right Wing
var rwr1=new Array(centerLine + half_span, cy);
var rwr2=new Array(centerLine + g_half_span, gy);
var rwr3=new Array(centerLine + h_half_span, hy);
var rwr4=new Array(centerLine + half_span, ey);
var right_wing=new Array(rwr1,rwr2,rwr3,rwr4);
c.setPenColor(.4, .5, .95)
var rocket_body=new Array(r1,r2l,r3l,r4l,r5l,r6l,r6r,r5r,r4r,r3r,r2r)
c.drawRegion(true, left_wing);
c.drawRegion(true, right_wing);
// Draw outline & crosses
C.setPenWeight(.02)
C.setPenColor(.4,.2,.5);
c.drawRegion(false, left_wing);
c.drawRegion(false, right_wing);
c.drawLine(centerLine-half_span, by, centerLine + half_span, by)
c.drawLine(centerLine-half_span, cy, centerLine + half_span, cy)
c.drawLine(centerLine-half_span, ey, centerLine + half_span, ey)
c.setPenColor(.3, .1, .4);
c.setPenWeight(.01);
var rocket_body=new Array(r1,r2l,r3l,r4l,r5l,r6l,r6r,r5r,r4r,r3r,r2r);
c.drawRegion(false, rocket_body);
c.setPenColor(.8, .2, .2); //draw bird
// Bird
// Body
c.drawOval(true, (centerLine + half_span)+(run2/5), pos[1] - (.76*height)+(run2/5),
.04*width, .03*height);
// Head
c.drawOval(true, centerLine + half_span+(run1/5), pos[1] - (.79*height)+(run1/5),
.03*width);
// Eye
c.setPenColor(.9,.9,.9)
c.drawOval(true, centerLine + half_span+(run1/5), pos[1] - (.79*height),
.01*width)+(run1/5);
// Eyeball
c.setPenColor(.1,.2,.9)
c.drawOval(true, centerLine + (half_span*.97)+(run3/15), pos[1] - (.79*height)+(run3/15),
.006*width);
// Draw Leg
c.setPenColor(.4, .2, .3);
c.setPenWeight(.015);
c.drawLine(pos[0] + (.59*width)+(run1/5), pos[1] - (.74*height)+(run1/5),
pos[0] + (.57*width)+(run1/5), pos[1] - (.73*height)+(run1/5));
// Draw Toes
c.setPenWeight(.001);
c.drawLine(pos[0] + (.57*width)+(run1/5), pos[1] - (.73*height)+(run1/5),
pos[0] + (.523*width)+(run1/5), pos[1] - (.73*height)+(run1/5));
c.drawLine(pos[0] + (.57*width)+(run1/5), pos[1] - (.73*height)+(run1/5),
pos[0] + (.513*width)+(run1/5), pos[1] - (.717*height)+(run1/5));
c.drawLine(pos[0] + (.57*width)+(run1/5), pos[1] - (.73*height)+(run1/5),
pos[0] + (.523*width)+(run1/5), pos[1] - (.71*height)+(run1/5));
// Draw Beak
var B1 =new Array(centerLine + (half_span*.8)+(run1/5), pos[1] - (.78*height)+(run1/5)
)
var B2 =new Array(centerLine + (half_span*.5)+(run1/5), pos[1] - (.79*height)
+(run1/5))
var B3 =new Array(centerLine + (half_span*.8)+(run1/5), pos[1] - (.79*height)+(run1/5)
)
var Beak = new Array(B1, B2, B3);
c.setPenColor(.9,.9,.1);
c.drawRegion(true, Beak);
// Draw Bird Wing
//1st point on body
var bw1 =new Array(centerLine + (half_span*1.25)+(run1/5), pos[1] - (.77*height)
+(run1/5));
var bw2 =new Array(centerLine +(run1/5), pos[1] - (.775*height) );
var bw3 =new Array(centerLine - (half_span*.1)+(run1/5), pos[1] - (.75*height)+(run1/5)
);
var bw4 =new Array(centerLine + (half_span*.25)+(run1/5), pos[1] - (.76*height)+(run1/5)
);
var bw5 =new Array(centerLine + (half_span*.35)+(run1/5), pos[1] - (.74*height)+(run1/5)
);
var bw6 =new Array(centerLine + (half_span*.56)+(run1/5), pos[1] - (.755*height)
+(run1/5));
var bw7 =new Array(centerLine + (half_span*1.25)+(run1/5), pos[1] - (.766*height)
+(run1/5));
var bird_wing = new Array(bw1, bw2, bw3,bw4,bw5,bw6,bw7);
c.setPenColor(.9, .5, .3);
c.setPenWeight(.008);
c.drawRegion(true, bird_wing);
c.setPenColor(.85,.2,.2);
c.drawRegion(false, bird_wing);
// Region Large Flame
var lf1 =new Array((centerLine-(.07*width)), pos[1] - (.3*height));
var lf2 =new Array((centerLine+(.07*width)), pos[1] - (.3*height));
var lf3 =new Array((pos[0] + (.85 * width)) + ran1, (pos[1] - (.06*height))-ran1);
var lf4 =new Array((pos[0] + (.7 * width))+ran2, (pos[1] - (.11*height))-ran2);
var lf5 =new Array((pos[0] + (.6 * width))+ran3, (pos[1] - (.05*height))-ran3);
var lf6 =new Array((pos[0] + (.52 * width))+ran4, (pos[1] - (.09*height))-ran4);
var lf7 =new Array((pos[0] + (.43 * width))-ran5, (pos[1] - (.03*height))-ran5);
var lf8 =new Array((pos[0] + (.38 * width))-ran6, (pos[1] - (.12*height))-ran6);
var lf9 =new Array((pos[0] + (.31 * width))-ran7, (pos[1] - (.07*height))-ran7);
var lf10 =new Array((pos[0] + (.29* width))-ran8, (pos[1] - (.13*height))-ran8);
var lf11 =new Array((pos[0] + (.13* width))-ran9, (pos[1] - (.09*height))-ran9);
var large_flame =new Array(lf1,lf2,lf3,lf4,lf5,lf6,lf7,lf8,lf9,lf10,lf11);
c.setPenColor(.9,.1,.1);
c.drawRegion(true, large_flame);
// Region Small Flame
var sf1 =new Array((centerLine-(.05*width)), pos[1] - (.3*height));
var sf2 =new Array((centerLine+(.05*width)), pos[1] - (.3*height));
var sf3 =new Array((pos[0] + (.65 * width))+ run1, (pos[1] - (.15*height))+run1);
var sf4 =new Array((pos[0] + (.55 * width))+run2, (pos[1] - (.2*height))+run2);
var sf5 =new Array((pos[0] + (.48 * width))-run3, (pos[1] - (.13*height))-run3);
var sf6 =new Array((pos[0] + (.45 * width))-run4, (pos[1] - (.19*height))-run4);
var sf7 =new Array((pos[0] + (.3 * width))-run5, (pos[1] - (.15*height))-run5);
var small_flame =new Array(sf1,sf2,sf3,sf4,sf5,sf6,sf7);
c.setPenColor(.95,.9,.1);
c.drawRegion(true, small_flame);
}
// star variables
ya = .5;
yb = .8;
yc = .3;
yd = .85
ye = .93;
yf = .42;
yg = .56;
yh = .02;
yi = .96;
yj = .64;
yk = .37;
yl = .1;
ym = .99;
yn = .2;
yo = .47;
yp = .25;
yq = .67;
yr = .07;
ys = .75;
function update() {
C.setBackgroundColor(.1,.1,.1);
// Stars
c.setPenWeight(.01)
c.setPenColor(1,1,.8)
C.drawLine(.43,yg,.432,yg);
yg +=.007;
yg %= 1.0;
C.drawLine(.69,yh,.692,yh);
yh +=.06;
yh %= 1.0;
C.drawLine(.25,yi,.252,yi);
yi +=.05;
yi %= 1.0;
c.setPenWeight(.0135)
C.drawLine(.05,yj,.052,yj);
yj +=.04;
yj %= 1.0;
C.drawLine(.92,yk,.922,yk);
yk +=.035;
yk %= 1.0;
c.setPenWeight(.007)
c.setPenColor(1,1,.6)
C.drawLine(.3,ya,.305,ya);
ya +=.03;
ya %= 1.0;
C.drawLine(.13,yb,.135,yb);
yb +=.025;
yb %= 1.0;
C.drawLine(.89,yc,.895,yc);
yc +=.015;
yc %= 1.0;
c.setPenWeight(.003)
C.drawLine(.75,yd,.755,yd);
yd +=.01;
yd %= 1.0;
C.drawLine(.45,ye,.455,ye);
ye +=.009;
ye %= 1.0;
C.drawLine(.22,yf,.225,yf);
yf +=.008;
yf %= 1.0;
// More Stars
c.setPenWeight(.001)
c.setPenColor(.85,.85,.85)
C.drawLine(.81,yl,.815,yl);
yl +=.007;
yl %= 1.0;
C.drawLine(.02,ym,.025,ym);
ym +=.006;
ym %= 1.0;
C.drawLine(.83,yn,.835,yn);
yn +=.005;
yn %= 1.0;
C.drawLine(.73,yo,.735,yo);
yo +=.004;
yo %= 1.0;
// Even more stars
C.drawLine(.23,yp,.232,yp);
yp +=.01;
yp %= 1.0;
C.drawLine(.38,yq,.382,yq);
yq +=.008;
yq %= 1.0;
C.drawLine(.68,yr,.683,yr);
yr +=.006;
yr %= 1.0;
C.drawLine(.11,ys,.113,ys);
ys +=.005;
ys %= 1.0;
push.pos[0] = .3
pos[0] = .3
pos[1] = .9
character(C, pos, .4, .8);
}
_root.onEnterFrame = update;
stop();
/* var step = 0;
var stepx = .01;
c.setPenColor(.3, .4, .9);
character(C, pos, width, height);
sf5[0] = sf5+stepx;
step %= 1.0;
*/
// initial testing.. one character
// uncomment to test single character,
// comment out before publishing to test with family
//character(new Canvas(), new Array(0,1), width, height);
|