- 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();
- }
-