void setup() { //400x400 Canvas size(400, 400); } void draw() { //Set CENTER mode rectMode(CENTER); ////BACKGROUND AND SKY//// //Light Blue Background background(32, 221, 249); //Cloud Left noStroke(); fill(255); ellipse(15 + (mouseX-200)*0.2, 30, 20, 20); ellipse(35 + (mouseX-200)*0.2, 30, 40, 40); ellipse(55 + (mouseX-200)*0.2, 30, 30, 30); fill(32, 221, 249); rect(35 + (mouseX-200)*0.2, 45, 80, 20); //Cloud Center noStroke(); fill(255); ellipse(205 + (mouseX-200)*0.3, 40, 40, 40); ellipse(225+ (mouseX-200)*0.3, 40, 50, 50); ellipse(245+ (mouseX-200)*0.3, 40, 30, 30); fill(32, 221, 249); rect(225+ (mouseX-200)*0.3, 60, 80, 20); //Cloud Right noStroke(); fill(255); ellipse(350 + (mouseX-200)*0.3, 20, 10, 10); ellipse(365+ (mouseX-200)*0.3, 20, 30, 30); ellipse(380+ (mouseX-200)*0.3, 20, 20, 20); fill(32, 221, 249); rect(365+ (mouseX-200)*0.3, 35, 80, 20); //Light Back Layer of Grass noStroke(); fill(89, 255, 147); rect(200, 400, 400, 140); //////PEPPA'S BODY///// //Arms strokeWeight(5); stroke(255, 215, 240); fill(255, 215, 240); bezier(100, 270 + (mouseY-300)*0.2, 100, 265 + (mouseY-300)*0.2, 150, 245, 150, 250); bezier(300, 270+ (mouseY-300)*0.2, 300, 265+ (mouseY-300)*0.2, 250, 245, 250, 250); //Torso fill(200, 0, 0); stroke(145, 0, 0); strokeWeight(5); ellipse(200, 350, 150, 270); //Rect to fake bottom stroke on torso ellipse fill(145, 0, 0); rect(200, 340, 150, 5); /////PEPPA'S HEAD///// //Peppa's Head Colour (Pink) fill(255, 215, 240); //Triangle to fill gaps between Beziers about to be drawn strokeWeight(0); triangle(250, 160, 230, 100, 145, 165); //Stroke Weight and RGB for rest of Peppa's Head strokeWeight(4.5); stroke(255, 135, 181); //Ears bezier(200, 115, 180, 80, 220, 70, 210, 110); bezier(170, 130, 150, 95, 190, 85, 183, 125); //Scalp bezier(230, 100, 160, 130, 145, 155, 155, 165); //Snout Outer Outline bezier(230, 100, 350, 70, 270, 155, 245, 160); //Snout Inner Outline bezier(283, 130, 245, 160, 245, 100, 260, 95); //Chin bezier(245, 160, 300, 300, 85, 250, 155, 150); //Mouth bezier(195, 195, 195, 220, 240, 220, 240, 185); ////PEPPA'S FACE//// //Facial features colour (Dark Pink) fill(255, 135, 181); //Cheek ellipse(170, 185, 27, 27); //Nose ellipse(265, 115, 6, 6); ellipse(280, 112, 6, 6); //Eyes fill(255); ellipse(220, 127, 18, 18); ellipse(195, 140, 18, 18); //Pupils fill(0); noStroke(); ellipse(220 + ((mouseX-200)*0.01), 127+ ((mouseY-200)*0.01), 7, 7); ellipse(195 + ((mouseX-200)*0.01), 140+ ((mouseY-200)*0.01), 7, 7); ////GROUND//// noStroke(); //Blocks half of Body Ellipse fill(52, 239, 108); rect(200, 400, 400, 120); //PEPPA'S Shadow fill(21, 112, 75); ellipse(205, 375, 133, 20); ////PEPPA'S LEGS//// fill(255, 215, 255); quad(160, 375, 167, 375, 167, 340, 160, 340); quad(233, 375, 240, 375, 240, 340, 233, 340); //PEPPA'S FEET rectMode(CORNER); fill(0); //Right Foot rect(160, 370, 20, 5); ellipse(180, 372.5, 10, 5); //Left Foot rect(233, 370, 20, 5); ellipse(253, 372.5, 10, 5); ////FLOWERS & GRASS//// //GRASS //Grass & Stem Properties stroke(14, 165, 104); strokeWeight(4); noFill(); //Grass and flowers sway with the mouse //Bottom Far Left bezier(10, 390, 10, 390, 11 +(mouseX-200)*0.01, 377, 10 +(mouseX-200)*0.01, 377); bezier(17, 385, 17, 385, 16 +(mouseX-200)*0.01, 377, 17 +(mouseX-200)*0.01, 377); bezier(24, 387, 24, 387, 24 +(mouseX-200)*0.01, 377, 24 +(mouseX-200)*0.01, 377); //Bottom Far Right bezier(360, 395, 360, 395, 361+(mouseX-200)*0.01, 382, 360+(mouseX-200)*0.01, 382); bezier(367, 390, 367, 390, 366+(mouseX-200)*0.01, 382, 367+(mouseX-200)*0.01, 382); bezier(374, 392, 374, 392, 374+(mouseX-200)*0.01, 382, 374+(mouseX-200)*0.01, 382); //Bottom Right bezier(310, 375, 310, 375, 311+(mouseX-200)*0.01, 362, 310+(mouseX-200)*0.01, 362); bezier(317, 370, 317, 370, 316+(mouseX-200)*0.01, 362, 317+(mouseX-200)*0.01, 362); bezier(324, 372, 324, 372, 324+(mouseX-200)*0.01, 362, 324+(mouseX-200)*0.01, 362); //FLOWERS //Stems bezier(50, 370, 50, 370, 50+(mouseX*0.01), 357, 50+(mouseX*0.01), 357); bezier(90, 385, 90, 385, 90+(mouseX*0.01), 372, 90+(mouseX*0.01), 372); bezier(350, 370, 350, 370, 350+(mouseX*0.01), 357, 350+(mouseX*0.01), 357); //Petals Properties stroke(255, 255, 17); strokeWeight(4); noFill(); bezier(47+(mouseX*0.01), 354, 47+(mouseX*0.01), 354, 53+(mouseX*0.01), 360, 53+(mouseX*0.01), 360); bezier(47+(mouseX*0.01), 360, 47+(mouseX*0.01), 360, 53+(mouseX*0.01), 354, 53+(mouseX*0.01), 354); bezier(87+(mouseX*0.01), 375, 87+(mouseX*0.01), 375, 93+(mouseX*0.01), 369, 93+(mouseX*0.01), 369); bezier(87+(mouseX*0.01), 369, 87+(mouseX*0.01), 369, 93+(mouseX*0.01), 375, 93+(mouseX*0.01), 375); bezier(347+(mouseX*0.01), 354, 347+(mouseX*0.01), 354, 353+(mouseX*0.01), 360, 353+(mouseX*0.01), 360); bezier(347+(mouseX*0.01), 360, 347+(mouseX*0.01), 360, 353+(mouseX*0.01), 354, 353+(mouseX*0.01), 354); } void mousePressed() { } void keyPressed() { }