////Valerie - 2-10-2014 ////Project 2 - Create a creature ////++++ String title="B U T T E R F L Y (2.4)"; String subtitle="(click to move butterfly)"; String author= "Valerie Courgis"; float butterflyX, butterflyY; //float butterflyeyeX, butterflyeyeY; float sunX, sunY; float sunDX=0, sunDY=80; //Sun Speed float horizon; int score=0; int WH= 60; void setup() { //initialization// size (640, 480); butterflyX= width/2; //start butterfly in center of screen butterflyY= height/2; horizon= height/4; sunX= width-50; sunY= height-50; } void draw() { //next frame scene(); action(); } void action() { //move and draw butterfly butterfly(); sunflower(); } void mousePressed() { //// Event handler for mouse click. sunX= mouseX; sunY= mouseY; score= score + 1; butterflyX= width-random(200); butterflyY= random( horizon, height-50); } void butterfly() { //draw and move the butterfly butterflyX= butterflyX + (sunX-butterflyX)/60; butterflyY= butterflyY + (sunY-butterflyY)/60; //Draw butterfly stroke( 200+random(70), random(150), random(100) ); strokeWeight( random(3) ); fill(190, 55, 100); ellipse(butterflyX+45, butterflyY+40, 45, 120); //right wing ellipseMode (CENTER); ellipse(butterflyX, butterflyY+40, 45, 120); //left wing line(butterflyX+35, butterflyY-10, butterflyX+60, butterflyY-60); ////right eye line line(butterflyX+15, butterflyY-7, butterflyX-15, butterflyY-60); ////left eye line fill(0); ellipse(butterflyX+25, butterflyY+30, 15, 80); // + eyes eyes(); smooth(); } void eyes() { // Draw eyes // fill( 255, 0, 255 ); ellipse( butterflyX+65, butterflyY-60, 10, 10 ); // right ellipse( butterflyX-20, butterflyY-60, 10, 10 ); // Left pupil smooth(); } void sunflower() { //// Draw Sun Flower if (sunX<5 || sunX>+60) { sunDX= -sunDX; } if (sunY<0 || sunY>+60) { sunDY= -sunDY; } smooth(); fill(100, 70, 50); stroke( 200+random(70), random(150), random(100) ); strokeWeight( random(3) ); ellipse( sunX, sunY, 80, 80 ); fill(255, 255, 0); ellipse(sunX-40, sunY+40, WH, WH); ellipse(sunX+10, sunY+60, WH, WH); ellipse(sunX+55, sunY+25, WH, WH); ellipse(sunX+55, sunY-30, WH, WH); ellipse(sunX-40, 50+sunY-95, WH, WH); ellipse(9+sunX-70, 100+sunY-95, WH, WH); ellipse(40+sunX-35, 70+sunY-119, WH, WH); ///stem fill(0); line(sunX+5, sunY+15, sunX+20, sunY+195); // Reset. stroke(0); strokeWeight( 1 ); fill( 255 ); } void scene() { //// sky, etc. background( 150, 200, 255 ); // sky fill( 100, 255, 100 ); // grass rectMode( CORNERS ); rect( 0, horizon, width, height ); // Messages. notes(); //++++ add sunflower, clouds, etc. } void notes() { //// Messages on screen fill(0); text( title, 200, 30 ); text( subtitle, 200, 50 ); text( score, width-100, 60 ); text( author, 20, height-20 ); }