xxxxxxxxxx
360
class Head {
constructor(x, y) {
fill(20);
strokeWeight(5);
strokeWeight(1);
fill(223, 219, 213);
beginShape();
vertex(156, 95);
vertex(164, 95);
vertex(154, 55);
endShape();
fill(205, 195, 195);
beginShape();
vertex(155, 50);
vertex(152, 48);
vertex(150, 50);
vertex(156, 75);
endShape();
fill(111, 129, 85);
rect(155, 85, 40, 10);
noStroke();
push();
fill(172, 85, 55);
beginShape();
curveVertex(180, 107);
vertex(180, 95);
curveVertex(200, 88);
curveVertex(205, 30);
curveVertex(180, 15);
curveVertex(180, 25);
endShape(CLOSE);
pop();
fill(255);
beginShape();
curveVertex(150, 95);
vertex(180, 95);
curveVertex(160, 90);
curveVertex(155, 30);
curveVertex(180, 15);
curveVertex(155, 25);
endShape();
}
}
class Body {
constructor(x, y) {
fill(20);
strokeWeight(5);
strokeWeight(1);
noStroke();
fill(210);
rotate(-10);
ellipse(10, 170, 10, 110);
rotate(40);
ellipse(155, 111, 35, 110);
rotate(45);
ellipse(145, -110, 10, 70);
ellipse(160, -125, 10, 80);
fill(85);
ellipse(200, -115, 60, 62);
ellipse(200, -180, 55, 62);
fill(210);
ellipse(210, -105, 25, 25);
ellipse(205, -190, 20, 20);
rotate(-40);
ellipse(320, -40, 20, 110);
rotate(-60);
ellipse(110, 310, 50, 110);
rotate(10);
ellipse(100, 250, 40, 10);
ellipse(110, 270, 40, 10);
}
}
class Bottom {
constructor() {
rotate(1);
push();
fill(255);
beginShape();
vertex(100, 350 - 20);
vertex(70, 400 - 20);
vertex(30, 400 - 20);
vertex(30, 410 - 20);
vertex(100, 430 - 20);
vertex(160, 430 - 20);
vertex(167, 400 - 20);
vertex(150, 350 - 20);
endShape(CLOSE);
pop();
fill(0);
beginShape();
vertex(30, 400 - 20);
vertex(70, 405 - 20);
vertex(100, 350 - 20);
vertex(50, 330 - 20);
endShape(CLOSE);
beginShape();
vertex(170, 410 - 20);
vertex(130, 400 - 20);
vertex(100, 350 - 20);
vertex(150, 340 - 20);
endShape(CLOSE);
fill(211, 148, 116);
stroke(2);
beginShape();
vertex(30, 380);
vertex(30, 420);
vertex(20, 470);
vertex(10, 520);
vertex(12, 540);
vertex(-30, 580);
vertex(0, 590);
vertex(4, 600);
vertex(33, 600);
vertex(43, 550);
vertex(63, 520);
vertex(62, 480);
vertex(82, 450);
vertex(100, 410);
endShape();
// PATTERN FILL LEFT LEG
fill(204, 79, 48);
noStroke();
beginShape();
vertex(50, 390);
vertex(40, 400);
vertex(30, 450);
vertex(20, 470);
vertex(10, 520);
vertex(12, 540);
vertex(15, 550);
vertex(8, 560);
vertex(18, 565);
vertex(18, 550);
vertex(28, 550);
vertex(38, 560);
vertex(40, 560);
vertex(20, 530);
vertex(30, 480);
vertex(50, 480);
vertex(50, 390);
endShape();
fill(117, 29, 48);
beginShape();
vertex(50, 450);
vertex(60, 450);
vertex(40, 480);
endShape();
beginShape();
vertex(30, 500);
vertex(20, 500);
vertex(20, 550);
endShape();
fill(167, 53, 42);
beginShape();
vertex(80, 403);
vertex(85, 405);
vertex(81, 450);
vertex(50, 470);
vertex(20, 520);
vertex(25, 550);
vertex(24, 560);
vertex(28, 600);
vertex(28, 650);
vertex(28, 600);
vertex(8, 600);
vertex(80, 422);
endShape();
fill(182, 109, 79);
beginShape();
vertex(0, 585);
vertex(15, 565);
vertex(30, 500);
endShape();
beginShape();
vertex(40, 405);
vertex(45, 545);
vertex(55, 500);
endShape();
beginShape();
vertex(60, 405);
vertex(70, 445);
vertex(70, 405);
vertex(55, 500);
endShape();
fill(255);
beginShape();
vertex(-10, 585);
vertex(-15, 565);
vertex(-30, 580);
endShape();
beginShape();
vertex(35, 598);
vertex(35, 601);
vertex(20, 599);
vertex(20, 587);
endShape();
// RIGHT LEG
fill(211, 148, 116);
stroke(2);
beginShape();
vertex(166, 390);
vertex(165, 450);
vertex(167, 470);
vertex(163, 473);
vertex(170, 540);
vertex(160, 580);
vertex(200, 620);
vertex(200, 630);
vertex(220, 640);
vertex(190, 650);
vertex(180, 640);
vertex(170, 640);
vertex(120, 610);
vertex(120, 590);
vertex(110, 520);
vertex(115, 480);
vertex(100, 410);
endShape();
// PATTERN RIGHT LEFT LEG
fill(204, 79, 48);
noStroke();
beginShape();
vertex(150, 400);
vertex(140, 420);
vertex(130, 500);
vertex(120, 470);
vertex(110, 520);
vertex(112, 540);
vertex(115, 550);
vertex(128, 560);
vertex(118, 565);
vertex(118, 550);
vertex(128, 550);
vertex(138, 560);
vertex(140, 560);
vertex(120, 530);
vertex(130, 480);
vertex(150, 480);
vertex(150, 490);
endShape();
fill(117, 29, 48);
beginShape();
vertex(150, 450);
vertex(160, 450);
vertex(140, 480);
endShape();
beginShape();
vertex(130, 500);
vertex(119, 500);
vertex(125, 600);
endShape();
fill(167, 53, 42);
beginShape();
vertex(140, 403);
vertex(145, 405);
vertex(141, 450);
vertex(150, 470);
vertex(140, 520);
vertex(145, 550);
vertex(144, 560);
vertex(148, 600);
vertex(152, 650);
vertex(148, 600);
vertex(158, 600);
vertex(158, 500);
vertex(160, 422);
endShape();
fill(182, 109, 79);
beginShape();
vertex(120, 585);
vertex(145, 565);
vertex(130, 520);
endShape();
beginShape();
vertex(105, 409);
vertex(115, 409);
vertex(165, 505);
vertex(155, 500);
endShape();
beginShape();
vertex(160, 405);
vertex(130, 445);
vertex(130, 405);
vertex(155, 500);
endShape();
fill(255);
beginShape();
vertex(170, 635);
vertex(175, 635);
vertex(175, 640);
endShape();
beginShape();
vertex(195, 635);
vertex(218, 637);
vertex(198, 650);
vertex(195, 641);
endShape();
}
}
function setup() {
createCanvas(400, 600);
background(22, 22, 122);
angleMode(DEGREES);
new Head();
new Body();
new Bottom();
}
function draw() {
background(mouseX % 125, mouseY % 125, 255);
new Head();
new Body();
new Bottom();
}