//Eclipse by Jessie Lo //Interactive Drawing Assignment //Inspired by: // Eclipse sighting 2017 // Various student work // Pokemon Sun & Moon //Premise: // Cute Sun and Moon spirtes that change via the time of day!! // By clicking the mousepad, sprites change from the Sun to the Moon. Moving the mouse will change the time of day from Night to Morning //////////////////////////////////////////////////////////////////////////////////////////// void setup() { size (400, 400); } //Background void draw() { background(0); //Colour of turns lighter when mouse reaches to the bottom fill(119, 114, 173, (mouseY)/1.5); rect (0, 0, 400, 400); ////Stars (small) fill(255); ellipse( 5, 5, 3, 3); ellipse(5, 100, 4, 5); ellipse(5, 300, 3, 3); ellipse(5, 395, 4, 3); ellipse(60, 248, 2, 4); ellipse(60, 70, 3, 3); ellipse(80, 350, 4, 3); ellipse(100, 20, 2, 2); ellipse(130, 290, 2, 3); ellipse(130, 140, 3, 3); ellipse(140, 50, 3, 2); ellipse(168, 78, 3, 3); ellipse(231, 370, 1, 4); ellipse(234, 300, 3, 4); ellipse(200, 180, 4, 3); ellipse(280, 43, 2, 3); ellipse(287, 225, 2, 3); ellipse(287, 300, 3, 2); ellipse(360, 300, 1, 4); ellipse(360, 110, 2, 4); ellipse(370, 25, 3, 3); ellipse(370, 225, 3, 3); ellipse(370, 225, 2, 3); ellipse(380, 370, 3, 4); //Big Stars //Light Blue Glow fill(167, 225, 255); noStroke(); ellipseMode(CENTER); ellipse(320, 140, sin(frameCount*0.010)*5, 50); ellipse(320, 140, 50, sin(frameCount*0.010)*5); ellipse(20, 40, sin(frameCount*0.010)*5, 50); ellipse(20, 40, 50, sin(frameCount*0.010)*5); ellipse(20, 340, sin(frameCount*0.010)*5, 50); ellipse(20, 340, 50, sin(frameCount*0.010)*5); //Stars + White Glow fill(255); ellipse(320, 140, sin(frameCount*0.010)*5, 30); ellipse(320, 140, 30, sin(frameCount*0.010)*5); ellipse(80, 190, sin(frameCount*0.010)*5, 30); ellipse(80, 190, 30, sin(frameCount*0.010)*5); ellipse(220, 380, sin(frameCount*0.010)*5, 30); ellipse(220, 380, 30, sin(frameCount*0.010)*5); ellipse(20, 40, sin(frameCount*0.010)*5, 30); ellipse(20, 40, 30, sin(frameCount*0.010)*5); ellipse(20, 340, sin(frameCount*0.010)*5, 30); ellipse(20, 340, 30, sin(frameCount*0.010)*5); ellipse(380, 20, sin(frameCount*0.010)*5, 30); ellipse(380, 20, 30, sin(frameCount*0.010)*5); ellipse(380, 320, sin(frameCount*0.010)*5, 30); ellipse(380, 320, 30, sin(frameCount*0.010)*5); //Moon (Sun will sit on it) fill(239); ellipse(230, 278, 150, 150); //ellipse(mouseX/230, 278, 150, 150); //Craters on Moon noStroke(); fill(169); ellipse(235, 340, 15, 7); ellipse(230, 256, 25, 9); ellipse(190, 310, 45, 25); ellipse(275, 287, 27, 14); ellipse(200, 220, 23, 7); //////////////////////////////////////////////////////////////////////////////////////////// //Character: Sun //Body noStroke(); fill(255, 244, 118); rect(175, 100, 30, 120, 15); //Shadow fill(222, 213, 121); rect(175, 140, 30, 20, 5); ellipse(189, 193, 30, 62); ellipse(200, 200, 30, 30); //Arms fill(255, 244, 118); ellipse(174, 175, 26, 42); fill(255, 244, 118); ellipse(210, 165, 25, 28); ellipse(207, 167, 25, 31); ellipse(203, 178, 15, 20); //Shadow fill(222, 213, 121); ellipse(177, 176, 17, 39); ellipse(200, 180, 20, 13); //Legs //stroke(0); fill(222, 213, 121); ellipse(174, 213, 25, 30); ellipse(187, 216, 22, 15); ellipse(169, 216, 23, 27); //Toe fill(255, 244, 118); ellipse(202, 214, 10, 15); //Shadow fill(222, 213, 121); ellipse(199, 210, 10, 7); //Full leg fill(255, 244, 118); ellipse(189, 193, 30, 49); ellipse(186, 187, 26, 45); ellipse(195, 220, 22, 7); //Head fill(255, 244, 118); ellipse(180, 100, 100, 100); //Eyelashes noStroke(); fill(255, 178, 10); ellipse(153, 102, 10, 5); ellipse(202, 97, 10, 5); //Pupils fill(255, 178, 10, 169); stroke(255, 178, 10, 190); ellipse(158, 107, 8, 13); ellipse(198, 103, 8, 13); //Sun spot noStroke(); fill(255, 178, 10, 169); ellipse(170, 80, 20, 20); fill(255, 178, 10); ellipse(170, 80, 10, 10); //Lips stroke(0); fill(245); ellipse(185, 135, 10, 10); //////////////////////////////////////////////////////////////////////////////////////////// //By holding the mouse, the Moon sprite will show up if (mousePressed) { //Sun (Moon will sit on it) noStroke(); fill(255, 239, 62, 169); ellipse(230, 278, 200, 200); fill(255, 239, 62); ellipse(230, 278, 150, 150); //Moon //Body noStroke(); fill(120, 121, 162); rect(175, 100, 30, 120, 15); //Shadow fill(87, 88, 116); rect(175, 140, 30, 20, 5); ellipse(189, 193, 30, 62); ellipse(200, 200, 30, 30); //Arms fill(120, 121, 162); ellipse(174, 175, 26, 42); fill(120, 121, 162); ellipse(210, 165, 25, 28); ellipse(207, 167, 25, 31); ellipse(203, 178, 15, 20); //Shadow fill(87, 88, 116); ellipse(177, 176, 17, 39); ellipse(200, 180, 20, 13); //Legs //stroke(0); fill(87, 88, 116); ellipse(174, 213, 25, 30); ellipse(187, 216, 22, 15); ellipse(169, 216, 23, 27); //Toe fill(120, 121, 162); ellipse(202, 214, 10, 15); //Shadow fill(87, 88, 116); ellipse(199, 210, 10, 7); //Full leg fill(120, 121, 162); ellipse(189, 193, 30, 49); ellipse(186, 187, 26, 45); ellipse(195, 220, 22, 7); //Head fill(120, 121, 162); ellipse(180, 100, 100, 100); //Hair noStroke(); fill(35, 37, 82); ellipse(150, 62, 47, 44); ellipse(180, 70, 75, 43); ellipse(218, 89, 40, 60); ellipse(215, 60, 47, 44); rect(115, 63, 85, 30, 28, 20, 2, 2); //Ear + Earring stroke(35, 37, 82); fill(120, 121, 162); ellipse(213, 117, 15, 15); stroke(0); fill(35, 37, 82); ellipse(215, 123, 7, 7); //Eyes fill(35, 37, 82); noStroke(); ellipse(188, 109, 7, 12); ellipse(138, 109, 7, 12); rect(175, 100, 15, 5, 20, 20, 2, 20); rect(125, 100, 15, 5, 20, 20, 2, 20); //Lips fill(255); rect(155, 130, 10, 10, 20, 20, 2, 20); } }