TASK 05
// chameleoned ladybug ---created by pei-wen huang#include "CanvasPlus.as"//the centerline of the ladybug is x = y//basic variablesvar basePoint = new Array ( .33, .55);//background colorvar bG = new Array ( .73, 1, .96);//shadow colorvar sC = new Array( .18, .25, .15);//body color and color incrementvar wC = new Array ( .88, .16, .1); var colorInc = .05;//dot and head colorvar dC = new Array ( .11, 0, .22);//for antennavar pa1 = new Array ( basePoint[0] - .08, basePoint[0] - .22);//for bodyvar pa2 = new Array ( basePoint[1] + .275, basePoint[1] + .215); var pa3 = new Array ( basePoint[1] + .215, basePoint[1] + .275); var pa4 = new Array ( basePoint[0], basePoint[0]);//for dotvar pa5 = new Array ( basePoint[1] - .05, basePoint[0] - .05); var pa6 = new Array ( basePoint[1] + .15, basePoint[0] + .04); var pa7 = new Array ( basePoint[1] + .24, basePoint[1] + .02);//for butterfly bowvar pa8 = new Array ( basePoint[0] + .02, basePoint[0] - .09); var pa9 = new Array ( basePoint[0] + .1, basePoint[0] - .02); var pa10 = new Array ( basePoint[0] - .03, basePoint[0] + .105); var pa11 = new Array ( basePoint[0] - .09, basePoint[0] + .04);//moving variablesvar angle = 0; var radius1 = .04; var radius2 = .015;//character functionsfunction drawAntenna() {//including line and circlevar filled = true; var px1 = basePoint[0], py1 = px1; var rx1 = .03; var ry1 = rx1; var endP1 = Moving1(radius1, angle); endP1[0] += pa1[0]; endP1[1] += pa1[1]; angle += .05; Canvas.setPenWeight( .022);//shadowCanvas.setPenColor( sC[0], sC[1], sC[2]); Canvas.drawLine ( px1 - .02, py1 + .03, endP1[0] - .02, endP1[1] + .03); Canvas.drawLine ( px1 - .02, py1 + .03, endP1[1] - .02, endP1[0] + .03); Canvas.drawOval ( filled, endP1[0] - .02, endP1[1] + .03, rx1, ry1); Canvas.drawOval ( filled, endP1[1] - .02, endP1[0] + .03, rx1, ry1);//antennaCanvas.setPenColor( dC[0], dC[1], dC[1]); Canvas.drawLine ( px1, py1, endP1[0], endP1[1]); Canvas.drawLine ( px1, py1, endP1[1], endP1[0]); Canvas.drawOval ( filled, endP1[0], endP1[1], rx1, ry1); Canvas.drawOval ( filled, endP1[1], endP1[0], rx1, ry1); } function Moving1(distance, radianAngle) {// convert polar distance / angle to cartesian x / yvar x1 = distance * Math.cos(radianAngle); var y1 = distance * Math.sin(radianAngle); return new Array( x1, y1); } function Moving2(distance, radianAngle) {// convert polar distance / angle to cartesian x / yvar x2 = distance * Math.cos(radianAngle); var y2 = distance * Math.cos(radianAngle); return new Array(x2, y2); } function drawFace() { var filled = true; var rx2 = .13; var ry2 = rx2; var endP2 = Moving2(radius2, angle); endP2[0] += basePoint[0]; endP2[1] += basePoint[0]; angle += .03;//shadowCanvas.setPenColor( sC[0], sC[1], sC[2]); Canvas.drawOval(filled, endP2[0] - .02, endP2[0] + .03, rx2, ry2);//headCanvas.setPenColor( dC[0], dC[1], dC[2]); Canvas.drawOval(filled, endP2[0], endP2[0], rx2, ry2); } function drawHead() {//combine face and antenna togetherdrawAntenna(); drawFace(); } function drawWing() { var filled = true; var px2 = basePoint[1]; var py2 = px2; var rx2 = .35; var ry2 = rx2;//shadowCanvas.setPenColor( sC[0], sC[1], sC[2]); Canvas.drawOval( filled, px2 - .035, py2 + .045, rx2, ry2);//wingsCanvas.setPenColor( wC[0], wC[1], wC[2]); wC[0] += colorInc, wC[1] += colorInc, wC[2] += colorInc; wC[0] %= 1.0, wC[1] %= 1.0, wC[2] %= 1.0; Canvas.drawOval( filled, px2, py2, rx2, ry2); } function drawBody() {//inner black partvar filled = true; var paB = new array ( pa2, pa3, pa4);//no shadow neededCanvas.setPenColor( 0, 0, 0); Canvas.drawRegion( filled, paB); } function drawDot() {//the dots on the wingsvar filled = true; var rx3 = .055; var ry3 = rx3;//no shadow neededCanvas.setPenColor( dC[0], dC[1], dC[2] - .1); Canvas.drawOval( filled, pa5[0], pa5[1], rx3, ry3); Canvas.drawOval( filled, pa5[1], pa5[0], rx3, ry3); Canvas.drawOval( filled, pa6[0], pa6[1], rx3, ry3); Canvas.drawOval( filled, pa6[1], pa6[0], rx3, ry3); Canvas.drawOval( filled, pa7[0], pa7[1], rx3, ry3); Canvas.drawOval( filled, pa7[1], pa7[0], rx3, ry3); } function drawButterflyBow(){ var filled = true; var BB1 = new array ( pa8, pa9, pa4); var BB2 = new array ( pa10, pa11, pa4); Canvas.setPenColor( 1, .5, .5); Canvas.drawRegion( filled, BB1); Canvas.drawRegion( filled, BB2); } function drawCharacter() {//later functions paint over previous resultsCanvas.setBackgroundColor( bG[0], bG[1], bG[2]); drawHead(); drawWing(); drawBody(); drawDot(); drawButterflyBow(); }// associate our functions with appropriate events_root.onEnterFrame = drawCharacter;// stop the playback head from leaving this framestop();