/* Topdecking Lethal Introduction to Media Computation Date: 18/09/17 [DD/MM/YY] Instructor: Nicolas Hesler Created by: Christian Pamaong Passive Portion: -Bushes/Leaves will sway left and right to imitate a consistent breeze of wind -Characters of interest will imitate breathing, slowly moving up and down (Each body part moves independantly) Interactive Portion: -MouseX determines x-position (scrolling) && hue of enviroment (Greater hues of red and black as MouseX increases) -MouseY determines y-position (scrolling) */ void setup() { //Set canvas size size(400,400); noStroke(); smooth(); //noCursor(); } void draw() { //Refresh frame rate when updated frameRate(60); background(0,0,0); //Determine rectangular placement type rectMode(CORNERS); /* BACKGROUND (Trees LEFT, Leaves, Bushes LEFT, etc.) - Split into 3 layers (BG_close, BG_center, BG_far) Parallax Multipliers: *MULTIPLY X FACTOR BY 3.57 LATER [DONE] Far Tree x: 0.286 , y: 0.05 Far Bush x: 0.358 , y: 0.06 sin: 0.04 Center Tree x: 0.464 , y: 0.08 Center Bush x: 0.606 , y: 0.11 sin: 0.05 Close Tree x: 0.785 , y: 0.15 Close Bush x: 0.88 , y: 0.2 sin: 0.07 */ //Far Trees LEFT fill(95 - mouseX*0.15,49 - mouseX*0.15,27 - mouseX*0.15); rect(20 - mouseX*0.286,-40 - mouseY*0.06,35 - mouseX*0.286,100 - mouseY*0.05); rect(50 - mouseX*0.286,-40 - mouseY*0.06,65 - mouseX*0.286,100 - mouseY*0.05); rect(110 - mouseX*0.286,-40 - mouseY*0.06,125 - mouseX*0.286,100 - mouseY*0.05); rect(180 - mouseX*0.286,-40 - mouseY*0.06,195 - mouseX*0.286,100 - mouseY*0.05); rect(230 - mouseX*0.286,-40 - mouseY*0.06,245 - mouseX*0.286,100 - mouseY*0.05); rect(290 - mouseX*0.286,-40 - mouseY*0.06,305 - mouseX*0.286,100 - mouseY*0.05); rect(340 - mouseX*0.286,-40 - mouseY*0.06,355 - mouseX*0.286,100 - mouseY*0.05); rect(380 - mouseX*0.286,-40 - mouseY*0.06, 395 - mouseX*0.286,100 - mouseY*0.05); //Far Trees RIGHT fill(95 - mouseX*0.15,49 - mouseX*0.15,27 - mouseX*0.15); rect(20 - mouseX*0.286,-40 - mouseY*0.06,35 - mouseX*0.286,100 - mouseY*0.05); rect(50 - mouseX*0.286,-40 - mouseY*0.06,65 - mouseX*0.286,100 - mouseY*0.05); rect(110 - mouseX*0.286,-40 - mouseY*0.06,125 - mouseX*0.286,100 - mouseY*0.05); rect(180 - mouseX*0.286,-40 - mouseY*0.06,195 - mouseX*0.286,100 - mouseY*0.05); rect(230 - mouseX*0.286,-40 - mouseY*0.06,245 - mouseX*0.286,100 - mouseY*0.05); rect(290 - mouseX*0.286,-40 - mouseY*0.06,305 - mouseX*0.286,100 - mouseY*0.05); rect(340 - mouseX*0.286,-40 - mouseY*0.06,355 - mouseX*0.286,100 - mouseY*0.05); rect(380 - mouseX*0.286,-40 - mouseY*0.06, 395 - mouseX*0.286,100 - mouseY*0.05); //Far Bushes LEFT fill(43 - mouseX*0.15,88 - mouseX*0.2,25 - mouseX*0.15); beginShape(); //Outside vertexes (LEFT) vertex(-30 - mouseX*0.358,160 - mouseY*0.06); vertex(-30 - mouseX*0.358,90 - mouseY*0.06); vertex(5 - mouseX*0.358 + sin(frameCount*0.04),95 - mouseY*0.06); vertex(10 - mouseX*0.358 + sin(frameCount*0.04),78 - mouseY*0.06); vertex(15 - mouseX*0.358 + sin(frameCount*0.04),88 - mouseY*0.06); vertex(40 - mouseX*0.358,100 - mouseY*0.06); vertex(70 - mouseX*0.358 - sin(frameCount*0.04),90 - mouseY*0.06); vertex(75 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(85 - mouseX*0.358 - sin(frameCount*0.04),93 - mouseY*0.06); vertex(110 - mouseX*0.358,88 - mouseY*0.06); vertex(120 - mouseX*0.358 + sin(frameCount*0.04),78 - mouseY*0.06); vertex(125 - mouseX*0.358 + sin(frameCount*0.04),90 - mouseY*0.06); vertex(150 - mouseX*0.358 + sin(frameCount*0.04),83 - mouseY*0.06); vertex(180 - mouseX*0.358,93 - mouseY*0.06); vertex(205 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(230 - mouseX*0.358 - sin(frameCount*0.04),90 - mouseY*0.06); vertex(260 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(280 - mouseX*0.358,85 - mouseY*0.06); vertex(290 - mouseX*0.358 + sin(frameCount*0.04),80 - mouseY*0.06); vertex(310 - mouseX*0.358 + sin(frameCount*0.04),95 - mouseY*0.06); vertex(330 - mouseX*0.358 + sin(frameCount*0.04),90 - mouseY*0.06); vertex(350 - mouseX*0.358,90 - mouseY*0.06); vertex(380 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(400 - mouseX*0.358 - sin(frameCount*0.04),90 - mouseY*0.06); //Outside vertexes (RIGHT) vertex(440 - mouseX*0.358,90 - mouseY*0.06); vertex(440 - mouseX*0.358,160 - mouseY*0.06); endShape(CLOSE); //Far Bushes RIGHT fill(43 - mouseX*0.15,88 - mouseX*0.2,25 - mouseX*0.15); beginShape(); //Outside vertexes (LEFT) vertex(400 + -30 - mouseX*0.358,160 - mouseY*0.06); vertex(400 + -30 - mouseX*0.358,90 - mouseY*0.06); vertex(400 + 5 - mouseX*0.358 + sin(frameCount*0.04),95 - mouseY*0.06); vertex(400 + 10 - mouseX*0.358 + sin(frameCount*0.04),78 - mouseY*0.06); vertex(400 + 15 - mouseX*0.358 + sin(frameCount*0.04),88 - mouseY*0.06); vertex(400 + 40 - mouseX*0.358,100 - mouseY*0.06); vertex(400 + 70 - mouseX*0.358 - sin(frameCount*0.04),90 - mouseY*0.06); vertex(400 + 75 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(400 + 85 - mouseX*0.358 - sin(frameCount*0.04),93 - mouseY*0.06); vertex(400 + 110 - mouseX*0.358,88 - mouseY*0.06); vertex(400 + 120 - mouseX*0.358 + sin(frameCount*0.04),78 - mouseY*0.06); vertex(400 + 125 - mouseX*0.358 + sin(frameCount*0.04),90 - mouseY*0.06); vertex(400 + 150 - mouseX*0.358 + sin(frameCount*0.04),83 - mouseY*0.06); vertex(400 + 180 - mouseX*0.358,93 - mouseY*0.06); vertex(400 + 205 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(400 + 230 - mouseX*0.358 - sin(frameCount*0.04),90 - mouseY*0.06); vertex(400 + 260 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(400 + 280 - mouseX*0.358,85 - mouseY*0.06); vertex(400 + 290 - mouseX*0.358 + sin(frameCount*0.04),80 - mouseY*0.06); vertex(400 + 310 - mouseX*0.358 + sin(frameCount*0.04),95 - mouseY*0.06); vertex(400 + 330 - mouseX*0.358 + sin(frameCount*0.04),90 - mouseY*0.06); vertex(400 + 350 - mouseX*0.358,90 - mouseY*0.06); vertex(400 + 380 - mouseX*0.358 - sin(frameCount*0.04),80 - mouseY*0.06); vertex(400 + 400 - mouseX*0.358 - sin(frameCount*0.04),90 - mouseY*0.06); //Outside vertexes (RIGHT) vertex(400 + 440 - mouseX*0.358,90 - mouseY*0.06); vertex(400 + 440 - mouseX*0.358,160 - mouseY*0.06); endShape(CLOSE); //Center Trees LEFT fill(126 - mouseX*0.15,65 - mouseX*0.15,37 - mouseX*0.15); rect(-20 - mouseX*0.464,-80 - mouseY*0.08,10 - mouseX*0.464,160 - mouseY*0.08); rect(80 - mouseX*0.464,-80 - mouseY*0.08,110 - mouseX*0.464,160 - mouseY*0.08); rect(190 - mouseX*0.464,-80 - mouseY*0.08,220 - mouseX*0.464,160 - mouseY*0.08); rect(300 - mouseX*0.464,-80 - mouseY*0.08,330 - mouseX*0.464,160 - mouseY*0.08); rect(380 - mouseX*0.464,-80 - mouseY*0.08,410 - mouseX*0.464,160 - mouseY*0.08); //Center Trees RIGHT fill(126 - mouseX*0.15,65 - mouseX*0.15,37 - mouseX*0.15); rect(-20 - mouseX*0.464,-80 - mouseY*0.08,10 - mouseX*0.464,160 - mouseY*0.08); rect(80 - mouseX*0.464,-80 - mouseY*0.08,110 - mouseX*0.464,160 - mouseY*0.08); rect(190 - mouseX*0.464,-80 - mouseY*0.08,220 - mouseX*0.464,160 - mouseY*0.08); rect(300 - mouseX*0.464,-80 - mouseY*0.08,330 - mouseX*0.464,160 - mouseY*0.08); rect(380 - mouseX*0.464,-80 - mouseY*0.08,410 - mouseX*0.464,160 - mouseY*0.08); //Center Bushes LEFT fill(48 - mouseX*0.15,127 - mouseX*0.2,15 - mouseX*0.15); beginShape(); vertex(-30 - mouseX*0.606,200 - mouseY*0.11); vertex(-30 - mouseX*0.606,120 - mouseY*0.11); vertex(0 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(40 - mouseX*0.606 - sin(frameCount*0.05),115 - mouseY*0.11); vertex(60 - mouseX*0.606 - sin(frameCount*0.05),125 - mouseY*0.11); vertex(70 - mouseX*0.606,100 - mouseY*0.11); vertex(80 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(90 - mouseX*0.606 + sin(frameCount*0.05),130 - mouseY*0.11); vertex(100 - mouseX*0.606 + sin(frameCount*0.05),110 - mouseY*0.11); vertex(120 - mouseX*0.606,100 - mouseY*0.11); vertex(110 - mouseX*0.606 - sin(frameCount*0.05),120 - mouseY*0.11); vertex(120 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(150 - mouseX*0.606 - sin(frameCount*0.05),105 - mouseY*0.11); vertex(190 - mouseX*0.606,130 - mouseY*0.11); vertex(200 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(190 - mouseX*0.606 + sin(frameCount*0.05),100 - mouseY*0.11); vertex(220 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(222 - mouseX*0.606,130 - mouseY*0.11); vertex(230 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(240 - mouseX*0.606 - sin(frameCount*0.05),110 - mouseY*0.11); vertex(260 - mouseX*0.606 - sin(frameCount*0.05),120 - mouseY*0.11); vertex(280 - mouseX*0.606,110 - mouseY*0.11); vertex(295 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(305 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(313 - mouseX*0.606 + sin(frameCount*0.05),100 - mouseY*0.11); vertex(330 - mouseX*0.606,120 - mouseY*0.11); vertex(330 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(340 - mouseX*0.606 - sin(frameCount*0.05),115 - mouseY*0.11); vertex(363 - mouseX*0.606 - sin(frameCount*0.05),108 - mouseY*0.11); vertex(350 - mouseX*0.606,120 - mouseY*0.11); vertex(370 - mouseX*0.606 + sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(440 - mouseX*0.606,120 - mouseY*0.11); vertex(440 - mouseX*0.606,200 - mouseY*0.11); endShape(CLOSE); //Center Bushes RIGHT fill(48 - mouseX*0.15,127 - mouseX*0.2,15 - mouseX*0.15); beginShape(); vertex(400 + -30 - mouseX*0.606,200 - mouseY*0.11); vertex(400 + -30 - mouseX*0.606,120 - mouseY*0.11); vertex(400 + 0 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 + 40 - mouseX*0.606 - sin(frameCount*0.05),115 - mouseY*0.11); vertex(400 + 60 - mouseX*0.606 - sin(frameCount*0.05),125 - mouseY*0.11); vertex(400 + 70 - mouseX*0.606,100 - mouseY*0.11); vertex(400 + 80 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 90 - mouseX*0.606 + sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 + 100 - mouseX*0.606 + sin(frameCount*0.05),110 - mouseY*0.11); vertex(400 + 120 - mouseX*0.606,100 - mouseY*0.11); vertex(400 + 110 - mouseX*0.606 - sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 120 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 + 150 - mouseX*0.606 - sin(frameCount*0.05),105 - mouseY*0.11); vertex(400 + 190 - mouseX*0.606,130 - mouseY*0.11); vertex(400 + 200 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 190 - mouseX*0.606 + sin(frameCount*0.05),100 - mouseY*0.11); vertex(400 + 220 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 222 - mouseX*0.606,130 - mouseY*0.11); vertex(400 + 230 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 + 240 - mouseX*0.606 - sin(frameCount*0.05),110 - mouseY*0.11); vertex(400 + 260 - mouseX*0.606 - sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 280 - mouseX*0.606,110 - mouseY*0.11); vertex(400 + 295 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 305 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 313 - mouseX*0.606 + sin(frameCount*0.05),100 - mouseY*0.11); vertex(400 + 330 - mouseX*0.606,120 - mouseY*0.11); vertex(400 + 330 - mouseX*0.606 - sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 + 340 - mouseX*0.606 - sin(frameCount*0.05),115 - mouseY*0.11); vertex(400 + 363 - mouseX*0.606 - sin(frameCount*0.05),108 - mouseY*0.11); vertex(400 + 350 - mouseX*0.606,120 - mouseY*0.11); vertex(400 + 370 - mouseX*0.606 + sin(frameCount*0.05),130 - mouseY*0.11); vertex(400 + 400 - mouseX*0.606 + sin(frameCount*0.05),120 - mouseY*0.11); vertex(400 + 440 - mouseX*0.606,120 - mouseY*0.11); vertex(400 + 440 - mouseX*0.606,200 - mouseY*0.11); endShape(CLOSE); //Close Trees LEFT fill(144 - mouseX*0.15,73 - mouseX*0.15,42 - mouseX*0.15); beginShape(); vertex(5 - mouseX*0.785,200 - mouseY*0.15); vertex(5 - mouseX*0.785,180 - mouseY*0.15); vertex(20 - mouseX*0.785,140 - mouseY*0.15); vertex(20 - mouseX*0.785,-80 - mouseY*0.15); vertex(60 - mouseX*0.785,-80 - mouseY*0.15); vertex(60 - mouseX*0.785,140 - mouseY*0.15); vertex(75 - mouseX*0.785,180 - mouseY*0.15); vertex(75 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); beginShape(); vertex(115 - mouseX*0.785,200 - mouseY*0.15); vertex(115 - mouseX*0.785,180 - mouseY*0.15); vertex(130 - mouseX*0.785,140 - mouseY*0.15); vertex(130 - mouseX*0.785,-80 - mouseY*0.15); vertex(170 - mouseX*0.785,-80 - mouseY*0.15); vertex(170 - mouseX*0.785,140 - mouseY*0.15); vertex(185 - mouseX*0.785,180 - mouseY*0.15); vertex(185 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); beginShape(); vertex(225 - mouseX*0.785,200 - mouseY*0.15); vertex(225 - mouseX*0.785,180 - mouseY*0.15); vertex(240 - mouseX*0.785,140 - mouseY*0.15); vertex(240 - mouseX*0.785,-80 - mouseY*0.15); vertex(280 - mouseX*0.785,-80 - mouseY*0.15); vertex(280 - mouseX*0.785,140 - mouseY*0.15); vertex(295 - mouseX*0.785,180 - mouseY*0.15); vertex(295 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); beginShape(); vertex(345 - mouseX*0.785,200 - mouseY*0.15); vertex(345 - mouseX*0.785,180 - mouseY*0.15); vertex(360 - mouseX*0.785,140 - mouseY*0.15); vertex(360 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 - mouseX*0.785,140 - mouseY*0.15); vertex(415 - mouseX*0.785,180 - mouseY*0.15); vertex(415 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); //Close Trees RIGHT fill(144 - mouseX*0.15,73 - mouseX*0.15,42 - mouseX*0.15); beginShape(); vertex(400 + 5 - mouseX*0.785,200 - mouseY*0.15); vertex(400 + 5 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 20 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 20 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 60 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 60 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 75 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 75 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); beginShape(); vertex(400 + 115 - mouseX*0.785,200 - mouseY*0.15); vertex(400 + 115 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 130 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 130 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 170 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 170 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 185 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 185 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); beginShape(); vertex(400 + 225 - mouseX*0.785,200 - mouseY*0.15); vertex(400 + 225 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 240 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 240 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 280 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 280 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 295 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 295 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); beginShape(); vertex(400 + 345 - mouseX*0.785,200 - mouseY*0.15); vertex(400 + 345 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 360 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 360 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 400 - mouseX*0.785,-80 - mouseY*0.15); vertex(400 + 400 - mouseX*0.785,140 - mouseY*0.15); vertex(400 + 415 - mouseX*0.785,180 - mouseY*0.15); vertex(400 + 415 - mouseX*0.785,200 - mouseY*0.15); endShape(CLOSE); //Close Bushes LEFT fill(84 - mouseX*0.15,173 - mouseX*0.2,47 - mouseX*0.15); beginShape(); vertex(-30 - mouseX*0.88,280 - mouseY*0.2); vertex(-30 - mouseX*0.88,180 - mouseY*0.2); vertex(5 - mouseX*0.88,175 - mouseY*0.2); vertex(10 - mouseX*0.88 + sin(frameCount*0.05),155 - mouseY*0.2); vertex(40 - mouseX*0.88 + sin(frameCount*0.05)*1.3,150 - mouseY*0.2); vertex(40 - mouseX*0.88 + sin(frameCount*0.05),170 - mouseY*0.2); vertex(50 - mouseX*0.88,180 - mouseY*0.2); vertex(60 - mouseX*0.88 - sin(frameCount*0.05),175 - mouseY*0.2); vertex(60 - mouseX*0.88 - sin(frameCount*0.05)*1.3,158 - mouseY*0.2); vertex(80 - mouseX*0.88 - sin(frameCount*0.05),173 - mouseY*0.2); vertex(90 - mouseX*0.88,188 - mouseY*0.2); vertex(105 - mouseX*0.88 + sin(frameCount*0.05)*1.1,175 - mouseY*0.2); vertex(120 - mouseX*0.88 + sin(frameCount*0.05)*1.4,170 - mouseY*0.2); vertex(115 - mouseX*0.88 + sin(frameCount*0.05)*1.1,185 - mouseY*0.2); vertex(140 - mouseX*0.88,190 - mouseY*0.2); vertex(165 - mouseX*0.88 - sin(frameCount*0.05),180 - mouseY*0.2); vertex(180 - mouseX*0.88 - sin(frameCount*0.05)*1.3,160 - mouseY*0.2); vertex(200 - mouseX*0.88 - sin(frameCount*0.05),185 - mouseY*0.2); vertex(220 - mouseX*0.88 + sin(frameCount*0.05)*1.2,170 - mouseY*0.2); vertex(240 - mouseX*0.88 + sin(frameCount*0.05),180 - mouseY*0.2); vertex(260 - mouseX*0.88,190 - mouseY*0.2); vertex(270 - mouseX*0.88 - sin(frameCount*0.05)*1.2,180 - mouseY*0.2); vertex(280 - mouseX*0.88 - sin(frameCount*0.05)*5,160 - mouseY*0.2); vertex(288 - mouseX*0.88 - sin(frameCount*0.05)*1.2,180 - mouseY*0.2); vertex(300 - mouseX*0.88,195 - mouseY*0.2); vertex(300 - mouseX*0.88 + sin(frameCount*0.05)*1.5,180 - mouseY*0.2); vertex(330 - mouseX*0.88 + sin(frameCount*0.05)*2,165 - mouseY*0.2); vertex(340 - mouseX*0.88 + sin(frameCount*0.05)*1.25,190 - mouseY*0.2); vertex(350 - mouseX*0.88,200 - mouseY*0.2); vertex(362 - mouseX*0.88 - sin(frameCount*0.05)*1.25,188 - mouseY*0.2); vertex(370 - mouseX*0.88 - sin(frameCount*0.05)*1.5,160 - mouseY*0.2); vertex(400 - mouseX*0.88 - sin(frameCount*0.05)*1.25,180 - mouseY*0.2); vertex(440 - mouseX*0.88,180 - mouseY*0.23); vertex(440 - mouseX*0.88,280 - mouseY*0.23); endShape(CLOSE); //Close Bushes RIGHT fill(84 - mouseX*0.15,173 - mouseX*0.2,47 - mouseX*0.15); beginShape(); vertex(400 + -30 - mouseX*0.88,280 - mouseY*0.2); vertex(400 + -30 - mouseX*0.88,180 - mouseY*0.2); vertex(400 + 5 - mouseX*0.88,175 - mouseY*0.2); vertex(400 + 10 - mouseX*0.88 + sin(frameCount*0.05),155 - mouseY*0.2); vertex(400 + 40 - mouseX*0.88 + sin(frameCount*0.05)*1.3,150 - mouseY*0.2); vertex(400 + 40 - mouseX*0.88 + sin(frameCount*0.05),170 - mouseY*0.2); vertex(400 + 50 - mouseX*0.88,180 - mouseY*0.2); vertex(400 + 60 - mouseX*0.88 - sin(frameCount*0.05),175 - mouseY*0.2); vertex(400 + 60 - mouseX*0.88 - sin(frameCount*0.05)*1.3,158 - mouseY*0.2); vertex(400 + 80 - mouseX*0.88 - sin(frameCount*0.05),173 - mouseY*0.2); vertex(400 + 90 - mouseX*0.88,188 - mouseY*0.2); vertex(400 + 105 - mouseX*0.88 + sin(frameCount*0.05)*1.1,175 - mouseY*0.2); vertex(400 + 120 - mouseX*0.88 + sin(frameCount*0.05)*1.4,170 - mouseY*0.2); vertex(400 + 115 - mouseX*0.88 + sin(frameCount*0.05)*1.1,185 - mouseY*0.2); vertex(400 + 140 - mouseX*0.88,190 - mouseY*0.2); vertex(400 + 165 - mouseX*0.88 - sin(frameCount*0.05),180 - mouseY*0.2); vertex(400 + 180 - mouseX*0.88 - sin(frameCount*0.05)*1.3,160 - mouseY*0.2); vertex(400 + 200 - mouseX*0.88 - sin(frameCount*0.05),185 - mouseY*0.2); vertex(400 + 220 - mouseX*0.88 + sin(frameCount*0.05)*1.2,170 - mouseY*0.2); vertex(400 + 240 - mouseX*0.88 + sin(frameCount*0.05),180 - mouseY*0.2); vertex(400 + 260 - mouseX*0.88,190 - mouseY*0.2); vertex(400 + 270 - mouseX*0.88 - sin(frameCount*0.05)*1.2,180 - mouseY*0.2); vertex(400 + 280 - mouseX*0.88 - sin(frameCount*0.05)*5,160 - mouseY*0.2); vertex(400 + 288 - mouseX*0.88 - sin(frameCount*0.05)*1.2,180 - mouseY*0.2); vertex(400 + 300 - mouseX*0.88,195 - mouseY*0.2); vertex(400 + 300 - mouseX*0.88 + sin(frameCount*0.05)*1.5,180 - mouseY*0.2); vertex(400 + 330 - mouseX*0.88 + sin(frameCount*0.05)*2,165 - mouseY*0.2); vertex(400 + 340 - mouseX*0.88 + sin(frameCount*0.05)*1.25,190 - mouseY*0.2); vertex(400 + 350 - mouseX*0.88,200 - mouseY*0.2); vertex(400 + 362 - mouseX*0.88 - sin(frameCount*0.05)*1.25,188 - mouseY*0.2); vertex(400 + 370 - mouseX*0.88 - sin(frameCount*0.05)*1.5,160 - mouseY*0.2); vertex(400 + 400 - mouseX*0.88 - sin(frameCount*0.05)*1.25,180 - mouseY*0.2); vertex(400 + 440 - mouseX*0.88,180 - mouseY*0.23); vertex(400 + 440 - mouseX*0.88,280 - mouseY*0.23); endShape(CLOSE); //Ground LEFT fill(131 - mouseX*0.15,66 - mouseX*0.15,38 - mouseX*0.15); beginShape(); vertex(-30 - mouseX*1,520 - mouseY*0.23); vertex(-30 - mouseX*1,260 - mouseY*0.23); vertex(50 - mouseX*1,240 - mouseY*0.23); vertex(100 - mouseX*1,260 - mouseY*0.23); vertex(140 - mouseX*1,250 - mouseY*0.23); vertex(170 - mouseX*1,265 - mouseY*0.23); vertex(200 - mouseX*1,255 - mouseY*0.23); vertex(230 - mouseX*1,260 - mouseY*0.23); vertex(255 - mouseX*1,264 - mouseY*0.23); vertex(270 - mouseX*1,255 - mouseY*0.23); vertex(305 - mouseX*1,260 - mouseY*0.23); vertex(320 - mouseX*1,255 - mouseY*0.23); vertex(365 - mouseX*1,265 - mouseY*0.23); vertex(380 - mouseX*1,245 - mouseY*0.23); vertex(440 - mouseX*1,260 - mouseY*0.23); vertex(440 - mouseX*1,520 - mouseY*0.23); endShape(CLOSE); //Ground RIGHT fill(131 - mouseX*0.15,66 - mouseX*0.15,38 - mouseX*0.15); beginShape(); vertex(400 + -30 - mouseX*1,520 - mouseY*0.23); vertex(400 + -30 - mouseX*1,260 - mouseY*0.23); vertex(400 + 50 - mouseX*1,240 - mouseY*0.23); vertex(400 + 100 - mouseX*1,260 - mouseY*0.23); vertex(400 + 140 - mouseX*1,250 - mouseY*0.23); vertex(400 + 170 - mouseX*1,265 - mouseY*0.23); vertex(400 + 200 - mouseX*1,255 - mouseY*0.23); vertex(400 + 230 - mouseX*1,260 - mouseY*0.23); vertex(400 + 255 - mouseX*1,264 - mouseY*0.23); vertex(400 + 270 - mouseX*1,255 - mouseY*0.23); vertex(400 + 305 - mouseX*1,260 - mouseY*0.23); vertex(400 + 320 - mouseX*1,255 - mouseY*0.23); vertex(400 + 365 - mouseX*1,265 - mouseY*0.23); vertex(400 + 380 - mouseX*1,245 - mouseY*0.23); vertex(400 + 440 - mouseX*1,260 - mouseY*0.23); vertex(400 + 440 - mouseX*1,520 - mouseY*0.23); endShape(CLOSE); /* THE DUDE ****************************************************************************************************************************************************************************************************************** -Split into multiple parts *************************************************************************************************************************************************************************************************************************** */ //Bow //Bowstring stroke(20,20,20); strokeWeight(2); strokeCap(SQUARE); line(8 - mouseX*1.1,276 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),177 - mouseX*1.1,198 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); noStroke(); //Core of Handle fill(125 - mouseX*2,125 - mouseX*2,125 - mouseX*2); beginShape(); vertex(97 - mouseX*1.1,260 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(92 - mouseX*1.1,268 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(100 - mouseX*1.1,278 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(108 - mouseX*1.1,280 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(110 - mouseX*1.1,271 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(105 - mouseX*1.1,261 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); endShape(CLOSE); //Leftside of Bow beginShape(); vertex(90 - mouseX*1.1,270 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(97 - mouseX*1.1,279 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(65 - mouseX*1.1,290 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(65 - mouseX*1.1,300 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(45 - mouseX*1.1,285 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(25 - mouseX*1.1,300 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(20 - mouseX*1.1,290 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(40 - mouseX*1.1,280 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(40 - mouseX*1.1,265 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(60 - mouseX*1.1,285 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); endShape(CLOSE); //Farleft side of Bow triangle(22 - mouseX*1.1,302 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),8 - mouseX*1.1,298 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),8 - mouseX*1.1,275 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); //Rightside of Bow beginShape(); vertex(108 - mouseX*1.1,260 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(113 - mouseX*1.1,270 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(142 - mouseX*1.1,242 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(150 - mouseX*1.1,260 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(148 - mouseX*1.1,232 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(172 - mouseX*1.1,222 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(172 - mouseX*1.1,212 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(140 - mouseX*1.1,225 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); vertex(140 - mouseX*1.1,240 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); endShape(CLOSE); //Farright side of Bow triangle(177 - mouseX*1.1,220 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),177 - mouseX*1.1,197 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),188 - mouseX*1.1,212 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); //Hat beginShape(TRIANGLES); //Underside of top part fill(20 - mouseX*2,20 - mouseX*2,20 - mouseX*2); vertex(130 - mouseX*1.1,142 - mouseY*0.25 + 1.5*sin(frameCount*0.045)); vertex(160 - mouseX*1.1,152 - mouseY*0.25 + 1.5*sin(frameCount*0.045)); vertex(130 - mouseX*1.1,152 - mouseY*0.25 + 1.5*sin(frameCount*0.045)); //Topside of top part fill(200 - mouseX*2,200 - mouseX*2,200 - mouseX*2); vertex(130 - mouseX*1.1,142 - mouseY*0.25 + 1.5*sin(frameCount*0.045)); vertex(160 - mouseX*1.1,152 - mouseY*0.25 + 1.5*sin(frameCount*0.045)); vertex(145 - mouseX*1.1,132 - mouseY*0.25 + 1.5*sin(frameCount*0.045)); //Brimside of hat fill(100 - mouseX*2,100 - mouseX*2,100 - mouseX*2); vertex(120 - mouseX*1.1,142 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.2)); vertex(180 - mouseX*1.1,162 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.2)); vertex(126 - mouseX*1.1,158 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.2)); endShape(); //Head beginShape(QUADS); //Head shape fill(200 - mouseX*2,200 - mouseX*2,200 - mouseX*2); vertex(130 - mouseX*1.1,150 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); vertex(158 - mouseX*1.1,158 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); vertex(150 - mouseX*1.1,180 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); vertex(135 - mouseX*1.1,172 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); //Eye fill(59 + mouseX*2,250 - mouseX*2,250 - mouseX*2); vertex(142 - mouseX*1.1,161 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); vertex(155 - mouseX*1.1,165 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); vertex(152 - mouseX*1.1,172 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); vertex(146 - mouseX*1.1,170 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.4)); endShape(); //Collar (Rightside) fill(250 - mouseX*2,250 - mouseX*2,250 - mouseX*2); triangle(130 - mouseX*1.1,175 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6),130 - mouseX*1.1,185 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6),160 - mouseX*1.1,195 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); //Collar (Leftside) fill(150 - mouseX*2,150 - mouseX*2,150 - mouseX*2); triangle(130 - mouseX*1.1,175 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6),130 - mouseX*1.1,185 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6),120 - mouseX*1.1,190 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); //Left Arm //Shoulder fill(250 - mouseX*2,250 - mouseX*2,250 - mouseX*2); quad(90 - mouseX*1.1,190 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),115 - mouseX*1.1,190 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),110 - mouseX*1.1,193 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),105 - mouseX*1.1,203 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8)); //Upper arm fill(200 - mouseX*2,200 - mouseX*2,200 - mouseX*2); triangle(92 - mouseX*1.1,197 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),104 - mouseX*1.1,207 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),90 - mouseX*1.1,236 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9)); //Elbow //Forearm quad(100 - mouseX*1.1,235 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),90 - mouseX*1.1,242 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),85 - mouseX*1.1,240 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),100 - mouseX*1.1,265 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); //Core //Darkside fill(125 - mouseX*2,125 - mouseX*2,125 - mouseX*2); triangle(135 - mouseX*1.1,240 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.7),135 - mouseX*1.1,260 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.7),128 - mouseX*1.1,255 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.7)); //Lightside fill(175 - mouseX*2,175 - mouseX*2,175 - mouseX*2); triangle(135 - mouseX*1.1,240 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.7),135 - mouseX*1.1,260 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.7),143 - mouseX*1.1,255 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.7)); //Chest //Leftside Chest fill(150 - mouseX*2,150 - mouseX*2,150 - mouseX*2); beginShape(); vertex(130 - mouseX*1.1,190 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(120 - mouseX*1.1,210 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(135 - mouseX*1.1,250 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(128 - mouseX*1.1,245 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(110 - mouseX*1.1,210 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(115 - mouseX*1.1,195 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); endShape(CLOSE); //Rightside Chest fill(200 - mouseX*2,200 - mouseX*2,200 - mouseX*2); beginShape(); vertex(130 - mouseX*1.1,190 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(160 - mouseX*1.1,200 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(150 - mouseX*1.1,205 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(145 - mouseX*1.1,245 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(135 - mouseX*1.1,250 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); vertex(120 - mouseX*1.1,210 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.6)); endShape(CLOSE); //Waist //Leftside fill(150 - mouseX*2,150 - mouseX*2,150 - mouseX*2); quad(135 - mouseX*1.1,264 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),134 - mouseX*1.1,274 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),122 - mouseX*1.1,260 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),124 - mouseX*1.1,256 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8)); //Rightside fill(200 - mouseX*2,200 - mouseX*2,200 - mouseX*2); quad(135 - mouseX*1.1,264 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),134 - mouseX*1.1,274 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),150 - mouseX*1.1,264 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),143 - mouseX*1.1,258 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8)); //Left leg //Thigh fill(150 - mouseX*2,150 - mouseX*2,150 - mouseX*2); triangle(120 - mouseX*1.1,265 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),135 - mouseX*1.1,280 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),115 - mouseX*1.1,325 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8)); //Knee //Calf triangle(122 - mouseX*1.1,327 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),108 - mouseX*1.1,330 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),104 - mouseX*1.1,370 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9)); //Right Leg //Thigh fill(200 - mouseX*2,200 - mouseX*2,200 - mouseX*2); triangle(152 - mouseX*1.1,268 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),135 - mouseX*1.1,280 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),156 - mouseX*1.1,325 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8)); //Knee //Calf triangle(165 - mouseX*1.1,324 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),150 - mouseX*1.1,330 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),150 - mouseX*1.1,370 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9)); //Right Arm //Shoulder fill(250 - mouseX*2,250 - mouseX*2,250 - mouseX*2); quad(173 - mouseX*1.1,205 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),148 - mouseX*1.1,194 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),140 - mouseX*1.1,198 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8),144 - mouseX*1.1,207 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.8)); //Upper Arm triangle(146 - mouseX*1.1,210 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),163 - mouseX*1.1,209 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9),153 - mouseX*1.1,243 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 0.9)); //Elbow //Forearm quad(160 - mouseX*1.1,240 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),165 - mouseX*1.1,280 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),145 - mouseX*1.1,245 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1),152 - mouseX*1.1,250 - mouseY*0.25 + 1.5*sin(frameCount*0.045 - 1)); //THE DEER (Add 10 to y to fix displacement) //Left Front Leg fill(151,86,58); //Upper triangle(240 - mouseX*1.1,280 - mouseY*0.25,260 - mouseX*1.1,290 - mouseY*0.25,240 - mouseX*1.1,310 - mouseY*0.25); //Lower triangle(210 - mouseX*1.1,310 - mouseY*0.25,240 - mouseX*1.1,300 - mouseY*0.25,240 - mouseX*1.1,310 - mouseY*0.25); //Left Back Leg //Upper triangle(210 - mouseX*1.1,260 - mouseY*0.25,220 - mouseX*1.1,275 - mouseY*0.25,190 - mouseX*1.1,270 - mouseY*0.25); //Lower triangle(190 - mouseX*1.1,270 - mouseY*0.25,200 - mouseX*1.1,270 - mouseY*0.25,190 - mouseX*1.1,290 - mouseY*0.25); //Body fill(161,96,68); beginShape(); vertex(240 - mouseX*1.1,240 - mouseY*0.25); vertex(275 - mouseX*1.1,250 - mouseY*0.25); vertex(280 - mouseX*1.1,280 - mouseY*0.25); vertex(260 - mouseX*1.1,290 - mouseY*0.25); vertex(250 - mouseX*1.1,290 - mouseY*0.25); vertex(210 - mouseX*1.1,270 - mouseY*0.25); vertex(205 - mouseX*1.1,250 - mouseY*0.25); vertex(210 - mouseX*1.1,240 - mouseY*0.25); endShape(CLOSE); //Right Front Leg fill(171,106,78); //Upper quad(230 - mouseX*1.1,260 - mouseY*0.25,245 - mouseX*1.1,260 - mouseY*0.25,250 - mouseX*1.1,270 - mouseY*0.25,230 - mouseX*1.1,290 - mouseY*0.25); //Lower quad(220 - mouseX*1.1,280 - mouseY*0.25,230 - mouseX*1.1,280 - mouseY*0.25,230 - mouseX*1.1,290 - mouseY*0.25,200 - mouseX*1.1,310 - mouseY*0.25); //Right Back Leg //Upper quad(210 - mouseX*1.1,245 - mouseY*0.25,220 - mouseX*1.1,245 - mouseY*0.25,220 - mouseX*1.1,260 - mouseY*0.25,190 - mouseX*1.1,260 - mouseY*0.25); //Lower quad(190 - mouseX*1.1,260 - mouseY*0.25,200 - mouseX*1.1,260 - mouseY*0.25,200 - mouseX*1.1,270 - mouseY*0.25,180 - mouseX*1.1,290 - mouseY*0.25); //Neck fill(166,101,73); beginShape(); vertex(275 - mouseX*1.1,255 - mouseY*0.25); vertex(310 - mouseX*1.1,270 - mouseY*0.25); vertex(310 - mouseX*1.1,280 - mouseY*0.25); vertex(270 - mouseX*1.1,280 - mouseY*0.25); vertex(260 - mouseX*1.1,270 - mouseY*0.25); endShape(); //Left Horn fill(165,165,165); beginShape(); vertex(308 - mouseX*1.1,275 - mouseY*0.25); vertex(315 - mouseX*1.1,282 - mouseY*0.25); vertex(325 - mouseX*1.1,275 - mouseY*0.25); vertex(330 - mouseX*1.1,280 - mouseY*0.25); vertex(310 - mouseX*1.1,290 - mouseY*0.25); vertex(303 - mouseX*1.1,280 - mouseY*0.25); endShape(CLOSE); //Head fill(171,106,78); beginShape(); vertex(300 - mouseX*1.1,262 - mouseY*0.25); vertex(310 - mouseX*1.1,272 - mouseY*0.25); vertex(310 - mouseX*1.1,305 - mouseY*0.25); vertex(300 - mouseX*1.1,305 - mouseY*0.25); vertex(285 - mouseX*1.1,275 - mouseY*0.25); endShape(CLOSE); //Eye (Closed) stroke(20,20,20); strokeWeight(2); strokeCap(SQUARE); line(300 - mouseX*1.1,271 - mouseY*0.25,303 - mouseX*1.1,274 - mouseY*0.25); noStroke(); //Right Horn fill(175,175,175); beginShape(); vertex(285 - mouseX*1.1,260 - mouseY*0.25); vertex(305 - mouseX*1.1,250 - mouseY*0.25); vertex(310 - mouseX*1.1,255 - mouseY*0.25); vertex(292 - mouseX*1.1,261 - mouseY*0.25); vertex(300 - mouseX*1.1,267 - mouseY*0.25); vertex(295 - mouseX*1.1,267 - mouseY*0.25); endShape(CLOSE); //Blood Pool fill(200,20,20); beginShape(); vertex(450 + 190 - mouseX*1.1,270 - mouseY*0.23); vertex(450 + 280 - mouseX*1.1,270 - mouseY*0.23); vertex(450 + 310 - mouseX*1.1,290 - mouseY*0.23); vertex(450 + 310 - mouseX*1.1,320 - mouseY*0.23); vertex(450 + 290 - mouseX*1.1,330 - mouseY*0.23); vertex(450 + 280 - mouseX*1.1,330 - mouseY*0.23); vertex(450 + 270 - mouseX*1.1,340 - mouseY*0.23); vertex(450 + 280 - mouseX*1.1,350 - mouseY*0.23); vertex(450 + 270 - mouseX*1.1,360 - mouseY*0.23); vertex(450 + 230 - mouseX*1.1,360 - mouseY*0.23); vertex(450 + 220 - mouseX*1.1,350 - mouseY*0.23); vertex(450 + 230 - mouseX*1.1,340 - mouseY*0.23); vertex(450 + 220 - mouseX*1.1,330 - mouseY*0.23); vertex(450 + 190 - mouseX*1.1,330 - mouseY*0.23); vertex(450 + 170 - mouseX*1.1,310 - mouseY*0.23); vertex(450 + 170 - mouseX*1.1,290 - mouseY*0.23); endShape(CLOSE); //Dragged Blood beginShape(); vertex(450 + 300 - mouseX*1.1,290 - mouseY*0.23); vertex(450 + 395 - mouseX*1.1,295 - mouseY*0.23); vertex(450 + 395 - mouseX*1.1,300 - mouseY*0.23); vertex(450 + 300 - mouseX*1.1,310 - mouseY*0.23); endShape(CLOSE); //Skull fill(175,175,175); beginShape(); vertex(450 + 270 - mouseX*1.1,272 - mouseY*0.25); vertex(450 + 280 - mouseX*1.1,282 - mouseY*0.25); vertex(450 + 280 - mouseX*1.1,315 - mouseY*0.25); vertex(450 + 270 - mouseX*1.1,315 - mouseY*0.25); vertex(450 + 255 - mouseX*1.1,285 - mouseY*0.25); endShape(CLOSE); //Eye Socket stroke(0,0,0); strokeWeight(8); strokeCap(PROJECT); line(450 + 268 - mouseX*1.1,289 - mouseY*0.25,450 + 268 - mouseX*1.1,289 - mouseY*0.25); noStroke(); //Foreground LEFT (Tree, Bushes) fill(0,0,0); beginShape(); vertex(-30 - mouseX*1.2,500 - mouseY*0.25); vertex(-30 - mouseX*1.2,350 - mouseY*0.25); vertex(0 - mouseX*1.2 + sin(frameCount*0.1),325 - mouseY*0.25); vertex(20 - mouseX*1.2,350 - mouseY*0.25); vertex(40 - mouseX*1.2,330 - mouseY*0.25); vertex(50 - mouseX*1.2,355 - mouseY*0.25); vertex(65 - mouseX*1.2,360 - mouseY*0.25); vertex(72 - mouseX*1.2,357 - mouseY*0.25); vertex(80 - mouseX*1.2,340 - mouseY*0.25); vertex(95 - mouseX*1.2,320 - mouseY*0.25); vertex(110 - mouseX*1.2,337 - mouseY*0.25); vertex(120 - mouseX*1.2,350 - mouseY*0.25); vertex(140 - mouseX*1.2,340 - mouseY*0.25); vertex(165 - mouseX*1.2,325 - mouseY*0.25); vertex(158 - mouseX*1.2,340 - mouseY*0.25); vertex(170 - mouseX*1.2,355 - mouseY*0.25); vertex(180 - mouseX*1.2,340 - mouseY*0.25); vertex(210 - mouseX*1.2,320 - mouseY*0.25); vertex(200 - mouseX*1.2,340 - mouseY*0.25); vertex(220 - mouseX*1.2,365 - mouseY*0.25); vertex(240 - mouseX*1.2,350 - mouseY*0.25); vertex(240 - mouseX*1.2,320 - mouseY*0.25); vertex(260 - mouseX*1.2,345 - mouseY*0.25); vertex(280 - mouseX*1.2,340 - mouseY*0.25); vertex(310 - mouseX*1.2,320 - mouseY*0.25); vertex(300 - mouseX*1.2,345 - mouseY*0.25); vertex(310 - mouseX*1.2,350 - mouseY*0.25); vertex(320 - mouseX*1.2,345 - mouseY*0.25); vertex(330 - mouseX*1.2,310 - mouseY*0.25); vertex(340 - mouseX*1.2,335 - mouseY*0.25); vertex(360 - mouseX*1.2,335 - mouseY*0.25); vertex(380 - mouseX*1.2,220 - mouseY*0.25); vertex(380 - mouseX*1.2,160 - mouseY*0.25); vertex(360 - mouseX*1.2,80 - mouseY*0.25); vertex(355 - mouseX*1.2,60 - mouseY*0.25); vertex(340 - mouseX*1.2,40 - mouseY*0.25); vertex(310 - mouseX*1.2,30 - mouseY*0.25); vertex(300 - mouseX*1.2,20 - mouseY*0.25); vertex(260 - mouseX*1.2,10 - mouseY*0.25); vertex(230 - mouseX*1.2,10 - mouseY*0.25); vertex(200 - mouseX*1.2,-30 - mouseY*0.25); //Above vertex(170 - mouseX*1.2,-100 - mouseY*0.25); //Loop around vertex(500 - mouseX*1.2,-100 - mouseY*0.25); vertex(500 - mouseX*1.2,500 - mouseY*0.25); endShape(CLOSE); //Foreground RIGHT (Tree, Bushes) //Added 900 to translate and then mirror foreground, increasing efficiency instead of manually typing in the numbers fill(0,0,0); beginShape(); vertex(900 + 30 - mouseX*1.2,500 - mouseY*0.25); vertex(900 + 30 - mouseX*1.2,350 - mouseY*0.25); vertex(900 + -0 - mouseX*1.2 + sin(frameCount*0.1),325 - mouseY*0.25); vertex(900 + -20 - mouseX*1.2,350 - mouseY*0.25); vertex(900 + -40 - mouseX*1.2,330 - mouseY*0.25); vertex(900 + -50 - mouseX*1.2,355 - mouseY*0.25); vertex(900 + -65 - mouseX*1.2,360 - mouseY*0.25); vertex(900 + -72 - mouseX*1.2,357 - mouseY*0.25); vertex(900 + -80 - mouseX*1.2,340 - mouseY*0.25); vertex(900 + -95 - mouseX*1.2,320 - mouseY*0.25); vertex(900 + -110 - mouseX*1.2,337 - mouseY*0.25); vertex(900 + -120 - mouseX*1.2,350 - mouseY*0.25); vertex(900 + -140 - mouseX*1.2,340 - mouseY*0.25); vertex(900 + -165 - mouseX*1.2,325 - mouseY*0.25); vertex(900 + -158 - mouseX*1.2,340 - mouseY*0.25); vertex(900 + -170 - mouseX*1.2,355 - mouseY*0.25); vertex(900 + -180 - mouseX*1.2,340 - mouseY*0.25); vertex(900 + -210 - mouseX*1.2,320 - mouseY*0.25); vertex(900 + -200 - mouseX*1.2,340 - mouseY*0.25); vertex(900 + -220 - mouseX*1.2,365 - mouseY*0.25); vertex(900 + -240 - mouseX*1.2,350 - mouseY*0.25); vertex(900 + -240 - mouseX*1.2,320 - mouseY*0.25); vertex(900 + -260 - mouseX*1.2,345 - mouseY*0.25); vertex(900 + -280 - mouseX*1.2,340 - mouseY*0.25); vertex(900 + -310 - mouseX*1.2,320 - mouseY*0.25); vertex(900 + -300 - mouseX*1.2,345 - mouseY*0.25); vertex(900 + -310 - mouseX*1.2,350 - mouseY*0.25); vertex(900 + -320 - mouseX*1.2,345 - mouseY*0.25); vertex(900 + -330 - mouseX*1.2,310 - mouseY*0.25); vertex(900 + -340 - mouseX*1.2,335 - mouseY*0.25); vertex(900 + -360 - mouseX*1.2,335 - mouseY*0.25); vertex(900 + -380 - mouseX*1.2,220 - mouseY*0.25); vertex(900 + -380 - mouseX*1.2,160 - mouseY*0.25); vertex(900 + -360 - mouseX*1.2,80 - mouseY*0.25); vertex(900 + -355 - mouseX*1.2,60 - mouseY*0.25); vertex(900 + -340 - mouseX*1.2,40 - mouseY*0.25); vertex(900 + -310 - mouseX*1.2,30 - mouseY*0.25); vertex(900 + -300 - mouseX*1.2,20 - mouseY*0.25); vertex(900 + -260 - mouseX*1.2,10 - mouseY*0.25); vertex(900 + -230 - mouseX*1.2,10 - mouseY*0.25); vertex(900 + -200 - mouseX*1.2,-30 - mouseY*0.25); //Above vertex(900 + -170 - mouseX*1.2,-100 - mouseY*0.25); //Loop around vertex(900 + -440 - mouseX*1.2,-100 - mouseY*0.25); vertex(900 + -440 - mouseX*1.2,500 - mouseY*0.25); endShape(CLOSE); }