void setup(){ size(400,400); strokeWeight(1); } void draw(){ noStroke(); //back sky fill(77,81,137); rect(0,0,400,400); fill(0,0,25,25); rect(0,0,400,25); rect(0,0,400,50); rect(0,0,400,75); rect(0,0,400,100); rect(0,0,400,125); rect(0,0,400,150); //meteor glow fill(255,0,0,(mouseX/400f)*165-40); rect(0,0,400,400); fill(255,0,0,(mouseX/400f)*20f); rect(0,0,400,80); rect(0,0,400,60); rect(0,0,400,40); rect(0,0,400,20); //background fill(255,0,0,15); rect(0,190+(mouseY/90f),400,400); rect(0,200+(mouseY/90f),400,400); fill(137+(mouseX/400f)*80,122,112); rect(0,210+(mouseY/60f),400,400); fill((137+(mouseX/400f)*80)*(1-(mouseX/400f*0.5f)),122*(1-(mouseX/400f*0.5f)),112*(1-(mouseX/400f*0.5f))); triangle(0-(mouseX/40f),210+(mouseY/60f),30-(mouseX/40f),190+(mouseY/60f),50-(mouseX/40f),210+(mouseY/60f)); triangle(20-(mouseX/40f),210+(mouseY/60f),80-(mouseX/40f),180+(mouseY/60f),140-(mouseX/40f),210+(mouseY/60f)); fill(0,0,0,mouseX/400f*100); //mountain shadow triangle(0-(mouseX/40f),210+(mouseY/60f),140-(mouseX/40f),210+(mouseY/60f),70-(mouseX/5f),210+(mouseY/35f)+(mouseX/30f)); fill(15,0,0,20); rect(0,300+(mouseY/60f),400,400); rect(0,280+(mouseY/60f),400,400); rect(0,360+(mouseY/60f),400,400); rect(0,240+(mouseY/60f),400,400); rect(0,220+(mouseY/60f),400,400); //near mountains fill((119+(mouseX/400f)*40)*(1-(mouseX/400f*0.5f)),93*(1-(mouseX/400f*0.5f)),76*(1-(mouseX/400f*0.5f))); triangle(170-(mouseX/15f),290+(mouseY/12f),289-(mouseX/15f),130+(mouseY/12f),370-(mouseX/15f),290+(mouseY/12f)); triangle(220-(mouseX/15f),290+(mouseY/12f),400-(mouseX/15f),99+(mouseY/12f),600-(mouseX/15f),290+(mouseY/12f)); //foreground fill(193+(mouseX/400f)*10,151-(mouseX/400f)*40,124-(mouseX/400f)*40); rect(-20,260+(mouseY/8f),420,400); fill(15,0,0,10); rect(-20,380+(mouseY/8f),420,400); rect(-20,370+(mouseY/8f),420,400); rect(-20,360+(mouseY/8f),420,400); rect(-20,350+(mouseY/8f),420,400); rect(-20,340+(mouseY/8f),420,400); rect(-20,330+(mouseY/8f),420,400); rect(-20,320+(mouseY/8f),420,400); rect(-20,310+(mouseY/8f),420,400); //near mountain shadow fill(0,0,0,mouseX/400f*100); triangle(190-(mouseX/15f),260+(mouseY/8f),600-(mouseX/15f),260+(mouseY/8f),800-(mouseX/2f),260+(mouseY/7f)+(mouseX/3f)); //meteor! fill(255); triangle(30+(mouseX/400f)*150,30+(mouseX/400f)*170,30+(mouseX/400f)*170,30+(mouseX/400f)*150,30+(mouseX/400f)*30,30+(mouseX/400f)*30); fill(256,256*(1-(mouseX/400f)),256*(1-(mouseX/400f))); ellipse(30+(mouseX/400f)*170,30+(mouseX/400f)*170,(mouseX/400f)*40,(mouseX/400f)*40); //White Flash fill(255,((mouseX-300)/100f)*128); rect(0,0,400,400); //Dino Shadow fill(0,(mouseX/400f)*256-45); triangle(340-(mouseX/15f),330+(mouseY/8f),315-(mouseX/15f),330+(mouseY/8f),530-(mouseX/2f),500+(mouseY/8f)); triangle(295-(mouseX/15f),335+(mouseY/8f),270-(mouseX/15f),337+(mouseY/8f),505-(mouseX/2f),500+(mouseY/8f)); strokeWeight(1f); //back leg fill(168*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 130*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 84*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); stroke(168*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 130*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 84*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); triangle(327-(mouseX/15f),297+(mouseY/8f),320-(mouseX/15f),312+(mouseY/8f),296-(mouseX/15f),301+(mouseY/8f)); triangle(340-(mouseX/15f),330+(mouseY/8f),322-(mouseX/15f),308+(mouseY/8f),296-(mouseX/15f),301+(mouseY/8f)); triangle(340-(mouseX/15f),330+(mouseY/8f),315-(mouseX/15f),330+(mouseY/8f),330-(mouseX/15f),325+(mouseY/8f)); //front leg fill(226*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 154*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 65*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); stroke(226*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 154*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 65*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); ellipse(320-(mouseX/15f),280+(mouseY/8f),40,40); //thigh triangle(280-(mouseX/15f),300+(mouseY/8f),300-(mouseX/15f),270+(mouseY/8f),330-(mouseX/15f),297+(mouseY/8f)); triangle(280-(mouseX/15f),298+(mouseY/8f),285-(mouseX/15f),315+(mouseY/8f),330-(mouseX/15f),310+(mouseY/8f)); triangle(295-(mouseX/15f),335+(mouseY/8f),310-(mouseX/15f),310+(mouseY/8f),330-(mouseX/15f),310+(mouseY/8f)); triangle(295-(mouseX/15f),335+(mouseY/8f),270-(mouseX/15f),337+(mouseY/8f),305-(mouseX/15f),320+(mouseY/8f)); //rotating teeth (owch) fill(255*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); noStroke(); triangle(270-(55*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(55*sin(mouseX/700f*HALF_PI))+(mouseY/8f),270-(50*cos(mouseX/700f*HALF_PI)+10*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(-10*cos( mouseX/700f*HALF_PI)+50*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(45*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(45*sin(mouseX/700f*HALF_PI))+(mouseY/8f)); triangle(270-(45*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(45*sin(mouseX/700f*HALF_PI))+(mouseY/8f),270-(40*cos(mouseX/700f*HALF_PI)+10*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(-10*cos( mouseX/700f*HALF_PI)+40*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(35*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*sin(mouseX/700f*HALF_PI))+(mouseY/8f)); triangle(270-(35*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*sin(mouseX/700f*HALF_PI))+(mouseY/8f),270-(30*cos(mouseX/700f*HALF_PI)+10*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(-10*cos( mouseX/700f*HALF_PI)+30*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(25*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(25*sin(mouseX/700f*HALF_PI))+(mouseY/8f)); triangle(270-(25*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(25*sin(mouseX/700f*HALF_PI))+(mouseY/8f),270-(20*cos(mouseX/700f*HALF_PI)+10*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(-10*cos( mouseX/700f*HALF_PI)+20*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(15*cos(mouseX/700f*HALF_PI))-(mouseX/15f),225-(15*sin(mouseX/700f*HALF_PI))+(mouseY/8f)); //chin fill(168*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 130*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 84*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); stroke(168*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 130*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 84*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); rect(230-(mouseX/15f),225+(mouseY/8f),40,12); triangle(230-(mouseX/15f),225+(mouseY/8f),224-(mouseX/15f),225+(mouseY/8f),230-(mouseX/15f),236+(mouseY/8f)); fill(255*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); noStroke(); triangle(225-(mouseX/15f),225+(mouseY/8f),230-(mouseX/15f),215+(mouseY/8f),235-(mouseX/15f),225+(mouseY/8f)); triangle(235-(mouseX/15f),225+(mouseY/8f),240-(mouseX/15f),215+(mouseY/8f),245-(mouseX/15f),225+(mouseY/8f)); triangle(245-(mouseX/15f),225+(mouseY/8f),250-(mouseX/15f),215+(mouseY/8f),255-(mouseX/15f),225+(mouseY/8f)); //body fill(226*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 154*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 65*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); stroke(226*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 154*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 65*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); triangle(270-(mouseX/15f),190+(mouseY/8f),270-(mouseX/15f),236+(mouseY/8f),300-(mouseX/15f),221+(mouseY/8f)); //upper neck triangle(285-(mouseX/15f),265+(mouseY/8f),270-(mouseX/15f),236+(mouseY/8f),300-(mouseX/15f),221+(mouseY/8f)); //chest triangle(285-(mouseX/15f),265+(mouseY/8f),330-(mouseX/15f),250+(mouseY/8f),300-(mouseX/15f),221+(mouseY/8f)); //belly triangle(285-(mouseX/15f),265+(mouseY/8f),330-(mouseX/15f),250+(mouseY/8f),338-(mouseX/15f),290+(mouseY/8f)); //booty triangle(400-(mouseX/15f),265+(mouseY/8f),328-(mouseX/15f),250+(mouseY/8f),334-(mouseX/15f),290+(mouseY/8f)); //tail triangle(270-(mouseX/15f),230+(mouseY/8f),265-(mouseX/15f),265+(mouseY/8f),280-(mouseX/15f),245+(mouseY/8f)); //arm //rotating head (WHAT A BEAST. If only I could use functions...) fill(226*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 154*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 65*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); stroke(226*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 154*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f)), 65*(1-((mouseX*mouseX)/ 160000f)-(mouseX/400f/20f))); triangle(270-(55*cos(mouseX/700f*HALF_PI)-35*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*cos( mouseX/700f*HALF_PI)+55*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(mouseX/15f),225+(mouseY/8f),270-(-35*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*cos( mouseX/700f*HALF_PI))+(mouseY/8f)); //headA triangle(270-(55*cos(mouseX/700f*HALF_PI)-35*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*cos( mouseX/700f*HALF_PI)+55*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(mouseX/15f),225+(mouseY/8f),270-(55*cos( mouseX/700f*HALF_PI))-(mouseX/15f),225-(55*sin( mouseX/700f*HALF_PI))+(mouseY/8f)); //headB ellipse(270-(53*cos(mouseX/700f*HALF_PI)-28*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(28*cos( mouseX/700f*HALF_PI)+53*sin( mouseX/700f*HALF_PI))+(mouseY/8f),15,15); //nose triangle(270-(60*cos(mouseX/700f*HALF_PI)-25*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(25*cos( mouseX/700f*HALF_PI)+60*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(55*cos(mouseX/700f*HALF_PI)-25*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(25*cos( mouseX/700f*HALF_PI)+55*sin( mouseX/700f*HALF_PI))+(mouseY/8f),270-(55*cos( mouseX/700f*HALF_PI))-(mouseX/15f),225-(55*sin( mouseX/700f*HALF_PI))+(mouseY/8f)); //upper lip triangle(270-(-35*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*cos( mouseX/700f*HALF_PI))+(mouseY/8f),270-(mouseX/15f),225+(mouseY/8f),270-(-20*cos(mouseX/700f*HALF_PI)-20*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(20*cos( mouseX/700f*HALF_PI)-20*sin( mouseX/700f*HALF_PI))+(mouseY/8f)); //cranium stroke(0,0,0); //turn on stroke for eye strokeWeight(2); fill(255); ellipse(270-(23*cos(mouseX/700f*HALF_PI)-35*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*cos( mouseX/700f*HALF_PI)+23*sin( mouseX/700f*HALF_PI))+(mouseY/8f),mouseX/400f*20f+5f,mouseX/400f*20f+5f); //eye noStroke(); fill(0); ellipse(270-(23*cos(mouseX/700f*HALF_PI)-35*sin( mouseX/700f*HALF_PI))-(mouseX/15f),225-(35*cos( mouseX/700f*HALF_PI)+23*sin( mouseX/700f*HALF_PI))+(mouseY/8f),10,10); //pupil noStroke(); //RIP Dino Flash fill(255,((mouseX-350)/50f)*256+5); rect(0,0,400,400); //Signature noFill(); stroke(128,128,128,34); strokeWeight(2); arc(20,360,17,22,QUARTER_PI,TWO_PI-QUARTER_PI); arc(33,358,15,17,0,PI-QUARTER_PI); arc(33,358,15,19,PI+QUARTER_PI,TWO_PI); ellipse(22,360,10,10); ellipse(32,360,7,7); line(20,370,35,367); line(20,370,20,383); line(35,367,35,383); line(20,383,35,383); line(27,370,27,383); arc(45,369,15,13,PI+QUARTER_PI,TWO_PI*0.75f); //open mouth arc(43,377,17,14,0,PI-QUARTER_PI); arc(45,377,12,25,TWO_PI*0.75,TWO_PI); line(22,344,27,333);//fins line(32,344,27,333); line(49,362,52,358); line(55,372,62,371); line(52,358,62,371); line(12,373,3,373); line(15,377,8,384); line(3,373,8,384); arc(33,373,45,37,0,PI-QUARTER_PI*0.75f); //body arc(18,375,25,65,PI+QUARTER_PI*0.55f,TWO_PI*0.75f); arc(15,360,75,40,TWO_PI*0.85f,TWO_PI-QUARTER_PI*0.5f); noStroke(); }