// ********************************** // ********************************** // ***********Maya Sischo // ***********Intro to Media Computation // ***********2015/09/20 // ***********Interactive Drawing / Jetpack Man // ********************************** // ********************************** void setup() { // ***sets the size of the window and framerate size(400,400); smooth(); frameRate(30); } void draw() { // ***draw a light blue background background(200,240,250); // ***makes a gradient with rect in background //light blue color fill(0,60,170,20); noStroke(); //+mouseY/100 causes rect to move slightly in a vertical direction with mouse rect(0,140+mouseY/100,400,400); rect(0,240+mouseY/100,400,400); rect(0,300+mouseY/100,400,400); rect(0,340+mouseY/100,400,400); rect(0,360+mouseY/100,400,400); rect(0,380+mouseY/100,400,400); rect(0,400+mouseY/100,400,400); // ***makes a sun and some light //darker blue color //+mouseX/ and +mouseY/ cause ellipse to move slightly vert. and hor. with mouse fill(250,240,160); ellipse(240+mouseX/30,100+mouseY/30,120,120); fill(250,240,160,100); ellipse(240+mouseX/30,100+mouseY/30,160,160); fill(250,240,160,50); ellipse(240+mouseX/30,100,240+mouseY/30,240); // ***midground, makes midground clouds //fills white cloud color, including slight transparency (for first cloud) fill(255,100); noStroke(); //ridiculous amount of rectangles to form cloud shapes //rect for first cloud rect(300+mouseX/15,95,40,100); rect(340+mouseX/15,115,20,65); rect(360+mouseX/15,120,15,65); rect(375+mouseX/15,120,5,60); rect(380+mouseX/15,135,15,45); rect(395+mouseX/15,135,5,40); rect(270+mouseX/15,100,30,75); rect(250+mouseX/15,115,20,65); rect(230+mouseX/15,130,20,60); rect(220+mouseX/15,135,10,50); rect(210+mouseX/15,135,10,45); rect(190+mouseX/15,140,20,40); rect(180+mouseX/15,145,10,30); rect(170+mouseX/15,150,10,20); rect(150+mouseX/15,150,20,10); rect(130+mouseX/15,150,20,5); //transparency for second cloud fill(255,100); //rect for second cloud, +mouseX makes it move slightly hor. with mouse rect(140+mouseX/20,30,20,5); rect(120+mouseX/20,25,20,15); rect(110+mouseX/20,20,10,20); rect(100+mouseX/20,25,10,15); rect(90+mouseX/20,15,10,25); rect(80+mouseX/20,0,10,40); rect(70+mouseX/20,0,10,45); rect(60+mouseX/20,0,10,40); rect(40+mouseX/20,0,20,45); rect(20+mouseX/20,0,20,50); rect(-20+mouseX/20,0,40,45); // ***foreground, makes man with jetpack and one cloud //man with jetpack //jetpack fire fill(255,0+mouseY/30,0,167); rect(55,205+mouseY/30,10,10); //left side fire rect(50,220+mouseY/30,5,5); rect(70,210+mouseY/30,10,10); rect(60,220+mouseY/30,5,5); rect(60,235+mouseY/30,5,5); rect(140,200+mouseY/30,10,10); //right side fire rect(130,210+mouseY/30,10,10); rect(130,225+mouseY/30,5,5); rect(125,230+mouseY/30,5,5); rect(140,220+mouseY/30,5,5); rect(120,205+mouseY/30,10,10); //jetpack fill(150,180,150); //sets fill for bottom of jetpack stroke(180,220+mouseY/80,180); ellipse(70,200+mouseY/80,40,20); ellipse(130,200+mouseY/80,40,20); noStroke(); rect(50,140+mouseY/80,40,60); rect(110,140+mouseY/80,40,60); fill(180,210,180); //sets fill for top of jetpack stroke(180,220+mouseY/80,180); ellipse(70,140+mouseY/80,40,20); ellipse(130,140+mouseY/80,40,20); fill(200,230,200); //set fill for tiny square on jetpack noStroke(); rect(55,160+mouseY/80,5,20); //man! //underlyin' body fill(180,150,90); //neck fill noStroke(); rect(105,140,10,40); //neck //back of helmet that needs to be behind head fill(0,100,0); rect(120,100,20,40); fill(200,170,110); //head fill ellipse(110,130,55,57); //head fill(230,100,130); //torso fill quad(90,160,130,165,120,220,80,220); //torso fill(80,80,130); //pants fill quad(80,230,90,225,100,255,95,260); //top left leg quad(120,220,140,240,140,250,110,225); //top right leg quad(80,220,120,220,120,225,80,230); //groin I guess triangle(115,270,125,290,130,260); //right foot triangle(85,300,90,285,105,300); //left foot quad(95,250,100,255,95,300,85,300); //bottom left leg quad(140,240,145,245,120,280,115,270); //bottom right leg fill(30,150,40); //helmet rect(80,100,60,15); rect(80,110,15,30); //face //mouth fill(230); rect(103,142,20,7); fill(100); rect(108,142,5,7); //eyes stroke(70,50,10); strokeWeight(3); line(125,130,132,125); line(100,125,110,130); //foreground cloud fill(255,200); noStroke(); rect(10+mouseX/30,315,20,5); rect(30+mouseX/30,310,30,10); rect(60+mouseX/30,310,10,15); rect(70+mouseX/30,300,10,25); rect(80+mouseX/30,295,20,35); rect(100+mouseX/30,290,10,50); rect(110+mouseX/30,280,10,65); rect(120+mouseX/30,270,30,70); rect(150+mouseX/30,260,10,90); rect(160+mouseX/30,260,20,80); rect(180+mouseX/30,260,10,70); rect(190+mouseX/30,280,10,45); rect(200+mouseX/30,270,10,60); rect(210+mouseX/30,280,10,30); rect(220+mouseX/30,280,20,40); rect(240+mouseX/30,270,40,40); rect(280+mouseX/30,285,10,25); rect(290+mouseX/30,300,20,10); rect(310+mouseX/30,295,10,5); } void mousePressed() { fill(255,255,0,167); rect(45,205,30,30); //left side fire rect(40,220,25,25); rect(60,210,30,30); rect(50,220,25,25); rect(50,235,25,25); rect(130,200,30,30); //right side fire rect(120,210,30,30); rect(120,225,25,25); rect(115,230,25,25); rect(130,220,25,25); rect(110,205,30,30); }