Family:

 

#include "Canvas.as"


var C = new Canvas(Canvas.as);
var originx = 0;
var originy = 1;
var pos=new Array(0, 1);
var width = .5;
var height = .99;


c.setPenColor(.3, .4, .9)
character(C, pos, width, height)


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); // 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


// 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, pos[1] - (.76*height), .03*width);
// Head
c.drawOval(true, centerLine + half_span, pos[1] - (.78*height), .02*width);

// Draw Leg
c.setPenColor(.4, .2, .3);
c.setPenWeight(.015);
c.drawLine(pos[0] + (.59*width), pos[1] - (.75*height), pos[0] + (.57*width), pos[1] - (.74*height));
// Draw Toes
c.setPenWeight(.001);
c.drawLine(pos[0] + (.57*width), pos[1] - (.74*height), pos[0] + (.56*width), pos[1] - (.745*height));
c.drawLine(pos[0] + (.57*width), pos[1] - (.74*height), pos[0] + (.555*width), pos[1] - (.735*height));
c.drawLine(pos[0] + (.57*width), pos[1] - (.74*height), pos[0] + (.56*width), pos[1] - (.725*height));

// Draw Beak
var B1 =new Array(centerLine + (half_span*.8), pos[1] - (.78*height) )
var B2 =new Array(centerLine + (half_span*.5), pos[1] - (.79*height) )
var B3 =new Array(centerLine + (half_span*.8), pos[1] - (.79*height) )

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), pos[1] - (.77*height) );

var bw2 =new Array(centerLine + (half_span*.1), pos[1] - (.775*height) );
var bw3 =new Array(centerLine + (half_span*.25), pos[1] - (.75*height) );

var bw4 =new Array(centerLine + (half_span*.3), pos[1] - (.76*height) );
var bw5 =new Array(centerLine + (half_span*.45), pos[1] - (.74*height) );
var bw6 =new Array(centerLine + (half_span*.66), pos[1] - (.755*height) );
var bw7 =new Array(centerLine + (half_span*1.25), pos[1] - (.766*height) );



var bird_wing = new Array(bw1, bw2, bw3,bw4,bw5,bw6,bw7);
c.setPenColor(.9, .3, .3);
c.setPenWeight(.01);
c.drawRegion(true, bird_wing);
c.setPenColor(.8,.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] + (.8 * width), pos[1] - (.06*height));
var lf4 =new Array(pos[0] + (.75 * width), pos[1] - (.11*height));
var lf5 =new Array(pos[0] + (.6 * width), pos[1] - (.05*height));
var lf6 =new Array(pos[0] + (.52 * width), pos[1] - (.09*height));
var lf7 =new Array(pos[0] + (.43 * width), pos[1] - (.03*height));
var lf8 =new Array(pos[0] + (.38 * width), pos[1] - (.12*height));
var lf9 =new Array(pos[0] + (.25 * width), pos[1] - (.07*height));
var lf10 =new Array(pos[0] + (.2 * width), pos[1] - (.02*height));
var lf11 =new Array(pos[0] + (.18 * width), pos[1] - (.09*height));

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] + (.6 * width), pos[1] - (.15*height));
var sf4 =new Array(pos[0] + (.55 * width), pos[1] - (.18*height));
var sf5 =new Array(pos[0] + (.48 * width), pos[1] - (.13*height));
var sf6 =new Array(pos[0] + (.42 * width), pos[1] - (.19*height));
var sf7 =new Array(pos[0] + (.3 * width), pos[1] - (.12*height));

var small_flame =new Array(sf1,sf2,sf3,sf4,sf5,sf6,sf7);


c.setPenColor(.95,.9,.1);
c.drawRegion(true, small_flame);



}


// initial testing.. one character
// uncomment to test single character,
// comment out before publishing to test with family
character(new Canvas(), new Array(.1,1), .15, .35);