////////Desert Night - By Jessica Cornelius///////// void setup() { //Creates canvas size at 400x400 pixels size(400,400); //Sets default background to blue background(121, 216, 234); //Created objects have no line weight noStroke(); } void draw() { //Night to Day Change, Lower the mouse on the canvas = darker colours background(-mouseY/4+50, -mouseY/4+122, -mouseY/4+214); //Sun, Mouse location = suns location fill(255, 241, 85); ellipse(mouseX, mouseY, 40, 40); //Outer layers of sun, opacity added fill(255, 241, 85, 80); ellipse(mouseX, mouseY, 45, 45); fill(255, 241, 85, 50); ellipse(mouseX, mouseY, 50, 50); //Sand, Lower the mouse on the canvas = darker colours fill(-mouseY/5+228, -mouseY/5+178, -mouseY/5+105); rect(0, 240, 400, 160); //Pyramids, Lower the mouse on the canvas = darker colours fill(-mouseY/5+182, -mouseY/5+142, -mouseY/5+88); triangle(340, 40, 140, 240, 540, 240); fill(-mouseY/5+225, -mouseY/5+175, -mouseY/5+106); triangle(220, 100, 360, 240, 80, 240); //Pyramid Shadows, Lower the mouse on the canvas = the smaller the shadow gets & shadows get darker //Shadows disappear at night time fill(-mouseY+91, -mouseY+61, -mouseY+30, -mouseY+300); triangle(-mouseX+690, -mouseY/4+340, 140, 240, 540, 240); fill(-mouseY+91, -mouseY+61, -mouseY+30, -mouseY+300); triangle(-mouseX+450, -mouseY/6.64+300, 360, 240, 80, 240); //Stars, Lower the mouse on the canvas = makes stars visible fill(255, mouseY/5); ellipse(40, 30, 6, 6); fill(255, mouseY/2); ellipse(40, 30, 2, 2); fill(255, mouseY/5); ellipse(10, 110, 3, 3); fill(255, mouseY/1); ellipse(10, 110, 2, 2); fill(255, mouseY/2); ellipse(140, 20, 2, 2); fill(255, mouseY/5); ellipse(210, 30, 3, 3); fill(255, mouseY/1); ellipse(210, 30, 2, 2); fill(255, mouseY/5); ellipse(280, 70, 6, 6); fill(255, mouseY/2); ellipse(280, 70, 2, 2); fill(255, mouseY/5); ellipse(100, 100, 3, 3); fill(255, mouseY/1); ellipse(100, 100, 1, 1); fill(255, mouseY/5); ellipse(60, 160, 6, 6); fill(255, mouseY/2); ellipse(60, 160, 2, 2); fill(255, mouseY/5); ellipse(140, 110, 3, 3); fill(255, mouseY/1); ellipse(140, 110, 2, 2); fill(255, mouseY/5); ellipse(115, 75, 6, 6); fill(255, mouseY/2); ellipse(115, 75, 2, 2); fill(255, mouseY/5); ellipse(380, 40, 6, 6); fill(255, mouseY/2); ellipse(380, 40, 2, 2); fill(255, mouseY/2); ellipse(180, 45, 2, 2); fill(255, mouseY/2); ellipse(235, 20, 2, 2); fill(255, mouseY/2); ellipse(255, 60, 2, 2); fill(255, mouseY/5); ellipse(300, 30, 3, 3); fill(255, mouseY/1); ellipse(300, 30, 2, 2); //Firelogs Base Colour fill(121, 95, 61); ellipse(200, 323, 63, 21); //Firelog Seperations stroke(72, 54, 30); //Giving less stroke to logs further away strokeWeight(0.5); line(200, 318, 222, 315); line(200, 318, 178, 315); line(200, 318, 208, 313); line(200, 318, 192, 313); //Increasing stroke to mid logs strokeWeight(1); line(200, 318, 230, 321); line(200, 318, 170, 321); line(200, 318, 225, 324); line(200, 318, 175, 324); //Increasing stroke to closest logs strokeWeight(1.5); line(200, 318, 222, 332); line(200, 318, 178, 332); line(200, 318, 208, 335); line(200, 318, 192, 335); //Firelogs strokeWeight(0.5); fill(180, 143, 95); ellipse(167, 328, 7, 13); ellipse(233, 328, 7, 13); ellipse(173, 333, 12, 15); ellipse(227, 333, 12, 15); ellipse(185, 338, 16, 17); ellipse(215, 338, 16, 17); ellipse(200, 340, 18, 18); //Random Orange Flames, random flickering between top X coordinate within 16pixels noStroke(); fill(255, 155, 54, 210); triangle(random(175,185), 260, 200, 310, 178, 310); triangle(222, 310, 200, 310, random(215,225), 275); triangle(random(197,213), 250, 215, 310, 185, 310); //Static Flame Orange fill(255, 155, 54, 235); ellipse(200, 310, 45, 45); //Random Yellow Flames, random flickering between top X coordinate within 10pixels fill(255, 212, 54, 160); triangle(random(203,207), 258, 206, 298, 195, 298); triangle(random(180,186), 280, 193, 295, 184, 310); triangle(random(216,222), 285, 210, 298, 216, 315); //Static Flame Yellow fill(255, 212, 54, 235); ellipse(200, 310, 33, 33); //Flame Glow, appears at night fill(255, 166, 0, mouseY/10); ellipse(200, 300, 150, 150); fill(mouseY+255, mouseY+166, mouseY+0, mouseY/30); ellipse(200, 300, 180, 180); fill(mouseY+255, mouseY+166, mouseY+0, mouseY/50); ellipse(200, 300, 200, 200); //Moon Position, fill enabling slight visibility in day fill(200, mouseY+50); ellipse(60, 60, 40, 40); fill(250, mouseY+50); ellipse(60, 60, 35, 35); }