void setup() { size(400, 400); frameRate(60); rectMode(CENTER); noStroke(); } void draw() { frameRate(60); //background for ocean background(90, 158, 175); //bubble 1 fill(50, 103, 126, 80); ellipse(60, frameCount % 450, 50, 50); fill(90, 158, 175, 150); ellipse(60, (frameCount - 15) % 450, 20, 10); //back left tentical stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(160, 120); curveVertex(160, 120); curveVertex(140, 85); curveVertex(145, 35); curveVertex(150, 0); curveVertex(150, 0); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(160, 120); curveVertex(160, 120); curveVertex(140, 85); curveVertex(145, 35); curveVertex(150, 0); curveVertex(150, 0); endShape(); //front left tentical noFill(); stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(130, 370); curveVertex(130, 370); curveVertex(65, 380); curveVertex(10, 350); curveVertex(-10, 300); curveVertex(0, 220); curveVertex(20, 160); curveVertex(35, 100); curveVertex(25, 40); curveVertex(10, 0); curveVertex(10, 0); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(130, 370); curveVertex(130, 370); curveVertex(65, 380); curveVertex(10, 350); curveVertex(-10, 300); curveVertex(0, 220); curveVertex(20, 160); curveVertex(35, 100); curveVertex(25, 40); curveVertex(10, 0); curveVertex(10, 0); endShape(); //back right tentical stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(290, 330); curveVertex(290, 330); curveVertex(340, 310); curveVertex(365, 260); curveVertex(360, 185); curveVertex(320, 115); curveVertex(335, 40); curveVertex(360, 0); curveVertex(360, 0); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(290, 330); curveVertex(290, 330); curveVertex(340, 310); curveVertex(365, 260); curveVertex(360, 185); curveVertex(320, 115); curveVertex(335, 40); curveVertex(360, 0); curveVertex(360, 0); endShape(); //front right tentical stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(280, 380); curveVertex(280, 380); curveVertex(330, 385); curveVertex(380, 350); curveVertex(405, 260); curveVertex(400, 190); curveVertex(375, 120); curveVertex(300, 60); curveVertex(300, 60); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(280, 380); curveVertex(280, 380); curveVertex(330, 385); curveVertex(380, 350); curveVertex(405, 260); curveVertex(400, 190); curveVertex(375, 120); curveVertex(300, 60); curveVertex(300, 60); endShape(); //octopus head stroke(92, 56, 77); strokeWeight(4); fill(123, 75, 103); ellipse(200, 260, 220, 360); stroke(202, 149, 152, 80); strokeWeight(50); beginShape(); curveVertex(200, 120); curveVertex(200, 120); curveVertex(175, 135); curveVertex(157, 152); curveVertex(145, 175); curveVertex(135, 215); curveVertex(135, 215); endShape(); //left eye stroke(0); strokeWeight(2); beginShape(); curveVertex(150, 280); curveVertex(150, 280); curveVertex(140, 270); curveVertex(120, 275); curveVertex(115, 290); curveVertex(120, 320); curveVertex(130, 340); curveVertex(145, 345); curveVertex(155, 340); curveVertex(160, 320); curveVertex(160, 320); endShape(); noStroke(); fill(0); ellipse(140, 300, 10, 20); noFill(); stroke(0); strokeWeight(2); beginShape(); curveVertex(155, 260); curveVertex(130, 230); curveVertex(110, 240); curveVertex(130, 270); endShape(); //line(155, 245, 170, 270); //right eye stroke(0); noFill(); strokeWeight(2); beginShape(); curveVertex(250, 280); curveVertex(250, 280); curveVertex(260, 270); curveVertex(280, 275); curveVertex(285, 290); curveVertex(280, 320); curveVertex(270, 340); curveVertex(255, 345); curveVertex(245, 340); curveVertex(240, 320); curveVertex(240, 320); endShape(); noStroke(); fill(0); ellipse(260, 300, 10, 20); noFill(); stroke(0); strokeWeight(2); beginShape(); curveVertex(245, 260); curveVertex(270, 230); curveVertex(290, 240); curveVertex(270, 270); endShape(); //line(245, 245, 230, 270); //bubble 3 noStroke(); fill(50, 103, 126, 80); ellipse(100, (frameCount * .6) % 450, 75, 75); fill(90, 158, 175, 150); ellipse(100, ((frameCount * .6)-20) % 450, 30, 15); //bubble 2 fill(50, 103, 126, 80); ellipse(320, (frameCount * .7) % 450, 100, 100); fill(90, 158, 175, 150); ellipse(320, ((frameCount * .7)-25) % 450, 40, 20); //bubble 4 fill(50, 103, 126, 80); ellipse(410, (frameCount * .2) % 450, 60, 60); fill(90, 158, 175, 150); ellipse(410, ((frameCount * .2)-15) % 450, 30, 15); //bubble 5 fill(50, 103, 126, 80); ellipse(200, (frameCount * .8) % 450, 50, 50); fill(90, 158, 175, 150); ellipse(200, ((frameCount * .8) - 15) % 450, 20, 10); //bubble 6 fill(50, 103, 126, 80); ellipse(0, (frameCount * .5) % 450, 100, 100); fill(90, 158, 175, 150); ellipse(0, ((frameCount * .5)-25) % 450, 40, 20); //bubble 7 fill(50, 103, 126, 80); ellipse(250, (frameCount * .3) % 450, 75, 75); fill(90, 158, 175, 150); ellipse(250, ((frameCount * .3)-20) % 450, 30, 15); //top layer for ocean - fading fill(0, 155, 188, mouseY/3); rect(200, 200, 400, 400); } void mousePressed() { frameRate(1); //background for ocean background(90, 158, 175); //bubble 1 fill(50, 103, 126, 80); ellipse(60, frameCount % 450, 50, 50); fill(90, 158, 175, 150); ellipse(60, (frameCount - 15) % 450, 20, 10); //back left tentical stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(160, 120); curveVertex(160, 120); curveVertex(140, 85); curveVertex(145, 35); curveVertex(150, 0); curveVertex(150, 0); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(160, 120); curveVertex(160, 120); curveVertex(140, 85); curveVertex(145, 35); curveVertex(150, 0); curveVertex(150, 0); endShape(); //front left tentical noFill(); stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(130, 370); curveVertex(130, 370); curveVertex(65, 380); curveVertex(10, 350); curveVertex(-10, 300); curveVertex(0, 220); curveVertex(20, 160); curveVertex(35, 100); curveVertex(25, 40); curveVertex(10, 0); curveVertex(10, 0); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(130, 370); curveVertex(130, 370); curveVertex(65, 380); curveVertex(10, 350); curveVertex(-10, 300); curveVertex(0, 220); curveVertex(20, 160); curveVertex(35, 100); curveVertex(25, 40); curveVertex(10, 0); curveVertex(10, 0); endShape(); //back right tentical stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(290, 330); curveVertex(290, 330); curveVertex(340, 310); curveVertex(365, 260); curveVertex(360, 185); curveVertex(320, 115); curveVertex(335, 40); curveVertex(360, 0); curveVertex(360, 0); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(290, 330); curveVertex(290, 330); curveVertex(340, 310); curveVertex(365, 260); curveVertex(360, 185); curveVertex(320, 115); curveVertex(335, 40); curveVertex(360, 0); curveVertex(360, 0); endShape(); //front right tentical stroke(92, 56, 77); strokeWeight(66); beginShape(); curveVertex(280, 380); curveVertex(280, 380); curveVertex(330, 385); curveVertex(380, 350); curveVertex(405, 260); curveVertex(400, 190); curveVertex(375, 120); curveVertex(300, 60); curveVertex(300, 60); endShape(); stroke(123, 75, 103); strokeWeight(60); beginShape(); curveVertex(280, 380); curveVertex(280, 380); curveVertex(330, 385); curveVertex(380, 350); curveVertex(405, 260); curveVertex(400, 190); curveVertex(375, 120); curveVertex(300, 60); curveVertex(300, 60); endShape(); //octopus head stroke(92, 56, 77); strokeWeight(4); fill(123, 75, 103); ellipse(200, 260, 220, 360); stroke(202, 149, 152, 80); strokeWeight(50); beginShape(); curveVertex(200, 120); curveVertex(200, 120); curveVertex(175, 135); curveVertex(157, 152); curveVertex(145, 175); curveVertex(135, 215); curveVertex(135, 215); endShape(); //left eye stroke(0); strokeWeight(2); beginShape(); curveVertex(150, 280); curveVertex(150, 280); curveVertex(140, 270); curveVertex(120, 275); curveVertex(115, 290); curveVertex(120, 320); curveVertex(130, 340); curveVertex(145, 345); curveVertex(155, 340); curveVertex(160, 320); curveVertex(160, 320); endShape(); noStroke(); fill(0); ellipse(140, 300, 10, 20); noFill(); stroke(0); strokeWeight(2); line(155, 245, 170, 270); //right eye stroke(0); noFill(); strokeWeight(2); beginShape(); curveVertex(250, 280); curveVertex(250, 280); curveVertex(260, 270); curveVertex(280, 275); curveVertex(285, 290); curveVertex(280, 320); curveVertex(270, 340); curveVertex(255, 345); curveVertex(245, 340); curveVertex(240, 320); curveVertex(240, 320); endShape(); noStroke(); fill(0); ellipse(260, 300, 10, 20); noFill(); frameRate(1); stroke(0); strokeWeight(2); line(245, 245, 230, 270); //bubble 3 noStroke(); fill(50, 103, 126, 80); ellipse(100, (frameCount * .6) % 450, 75, 75); fill(90, 158, 175, 150); ellipse(100, ((frameCount * .6)-20) % 450, 30, 15); //bubble 2 fill(50, 103, 126, 80); ellipse(320, (frameCount * .7) % 450, 100, 100); fill(90, 158, 175, 150); ellipse(320, ((frameCount * .7)-25) % 450, 40, 20); //bubble 4 fill(50, 103, 126, 80); ellipse(410, (frameCount * .2) % 450, 60, 60); fill(90, 158, 175, 150); ellipse(410, ((frameCount * .2)-15) % 450, 30, 15); //bubble 5 fill(50, 103, 126, 80); ellipse(200, (frameCount * .8) % 450, 50, 50); fill(90, 158, 175, 150); ellipse(200, ((frameCount * .8) - 15) % 450, 20, 10); //bubble 6 fill(50, 103, 126, 80); ellipse(0, (frameCount * .5) % 450, 100, 100); fill(90, 158, 175, 150); ellipse(0, ((frameCount * .5)-25) % 450, 40, 20); //bubble 7 fill(50, 103, 126, 80); ellipse(250, (frameCount * .3) % 450, 75, 75); fill(90, 158, 175, 150); ellipse(250, ((frameCount * .3)-20) % 450, 30, 15); //top layer for ocean - fading fill(0, 155, 188, mouseY/3); rect(200, 200, 400, 400); }