/* Assignment 1: Interactive Drawing Kristy Lin "LET HIM EAT!" */ /* Premise: You're able to move the mouse around, and depending on where the mouse is located, their hands will move alone with the curcor as well. Clicking the mouse will make the person's mouth close, and depending how close the cursor is to their moouth, it should close aroun the food and hand as well. */ /*General Setup No strokes because most of these are made up of different basic shapes, and stroks will kinda ruin that. IE. the Fried Egg was just threee circles.*/ void setup() { size(400,400); noStroke(); } //The drawing void draw() { noStroke(); ellipseMode(CENTER); //Had to set a framerate because mousepressed had a set framerate frameRate(60); /*Background I wanted the kiddish feel, so I went with a more vibrant lime green. there's alos gonna be various foods littered about the background to follow the theme. Decided to make it interactible by changing saturation and slight hue in relation with the cursor.*/ background(157-mouseX/25,255-mouseY/5,170-mouseX/5); //Head backdrop fill(#ADFF9D); ellipse(200,400,300,300); /*Food backdrop Thisis mostly just so it doesn't look like straigth up floating food I guess. Personal preference really.*/ fill(157-mouseX/5,255-mouseY/25,170-mouseX/25,159); ellipse(60,65,120,120); ellipse(190,65,120,120); ellipse(320,65,120,120); ellipse(90,200,130,130); ellipse(288,200,130,130); //Fried Egg (Whites) fill(255); ellipse(65,65,60,60); ellipse(45,75,40,40); //Yolk fill(#FFEB4D); ellipse(65,65,25,22); fill(#FDFF9D); ellipse(62,62,5,5); //Egg shine //Cookie (Light brown) fill(#F0B266); ellipse(190,80,80,40); //Chocolate chips!!! fill(#5D3F1A); ellipse(170,80,5,5); ellipse(190,70,3,3); ellipse(200,90,4,4); ellipse(210,80,5,5); ellipse(185,85,3,3); //Popsickle rectMode(CENTER); //just to keep things simple //Stick fill(#F5B96F); rect(320,98,10,20); //Flavouring??? fill(#FF2168); ellipse(320,40,40,40); rect(320,68,40,45); //Sandwich //Bread fill(#D1B57E);//Chrust quad(90,210,140,220,100,230,40,220); rectMode(CORNERS); //Just to keep things simple rect(40,215,140,220); fill(#FFF2A7); quad(90,205,140,215,100,225,40,215); //Lettuce fill(#56E844); triangle(38,202,50,200,55,212); triangle(45,218,50,200,75,210); triangle(80,220,50,210,90,210); triangle(80,230,110,220,80,200); triangle(90,220,120,230,115,200); triangle(110,215,135,222,135,200); //Tomato fill(#DB1616); ellipse(90,200,85,28); fill(#FC2626); ellipse(90,197,85,20); //Bread fill(#D1B57E);//Chrust quad(90,185,140,195,100,205,40,195); rectMode(CORNERS); //Just to keep things simple rect(40,190,140,195); fill(#FFF2A7); quad(90,180,140,190,100,200,40,190); //Pancakes! //Plate fill(255); //easy white ellipse(285,228,120,30); //Actualy pancakes! ellipseMode(CENTER); fill(#F0BF77); //Edge colours ellipse(285,221,80,23); fill(#FFD698); //Top colours ellipse(285,218,80,20); fill(#F0BF77); ellipse(285,212,80,23); fill(#FFD698); ellipse(285,209,80,20); fill(#F0BF77); ellipse(285,203,80,23); fill(#FFD698); ellipse(285,200,80,20); //Butter! fill(#FCF67A); rectMode(CORNER); rect(280,195,10,8); //HERE WE GO WITH THE BOY! //Cursor settings! //Hand //Palm fill(#EDC97A); //skin colour ellipse(+1+mouseX,-4+mouseY,55,65); //Fingers! ellipse(mouseX,-45+mouseY,11,50); ellipse(+13+mouseX,-38+mouseY,11,50); ellipse(-13+mouseX,-38+mouseY,11,50); ellipse(+25+mouseX,-27+mouseY,10,50); ellipse(-30+mouseX,-10+mouseY,40,12); //Forarm that follows hand quad(-15+mouseX,mouseY,+15+mouseX,mouseY,380,400,350,400); //skin fill(#EDC97A); ellipse(200,400,250,250); //nose fill(#EDC97A); ellipse(200,275,30,30); //ears fill(#EDC97A); ellipse(80,400,50,50); ellipse(320,400,50,50); //mouth stuff fill(#F26762); ellipse(200,410,150,150); fill(#DE4A45); ellipse(192,400,20,20); ellipse(208,400,20,20); //teeth! fill(255); ellipse(150,390,20,20); ellipse(250,390,20,20); ellipse(160,370,15,15); ellipse(240,370,15,15); ellipse(175,355,15,15); ellipse(225,355,15,15); ellipse(192,348,15,10); ellipse(208,348,15,10); } void mousePressed() { /*Clicking settings! Basically just makes the person's mouth close when click*/ noStroke(); //Makes it linger a bit, so you can actually see it close frameRate(8); //Erasing mouth fill(#EDC97A); ellipse(200,400,250,250); //Lips fill(#E34640); ellipse(200,380,150,7); }