sketch
function setup() {
createCanvas(640, 480);
background(208, 57, 64);
}
function draw() {
background(208, 57, 64);
translate(320, 240);
var squareRotate = map(mouseX, 0, width, 0, TWO_PI);
var squareSize = map(mouseX, 0, width, 0, 200);
var squareSize2 = map(mouseY, 0, width, 0, 200);
var squareSize3 = map(mouseY, 0, height, 0, 200);
var rgbR = 1;
var rgbG = 2;
var rgbB = 0.5;
var circleR = map(mouseX, 0, width, 350, width + 150);
var faceSize = map(mouseX, 0, width, 1, 10);
var textChange = map(mouseX, 0, width, 80, -60);
var mouthChange1 = map(mouseX, 0, width, 30, 60);
var mouthChange2 = map(mouseX, 0, width, 20, 50);
//circle around head
noStroke();
fill(156, 38, 40);
ellipse(0, 0, circleR + 420, circleR + 420);
fill(208, 57, 64);
ellipse(0, 0, circleR + 400, circleR + 400);
fill(163,45,47);
ellipse(0, 0, circleR + 360, circleR + 360);
fill(188, 49, 52);
ellipse(0, 0, circleR + 320, circleR + 320);
fill(211, 66, 74);
ellipse(0, 0, circleR + 280, circleR + 280);
fill(163,45,47);
ellipse(0, 0, circleR + 250, circleR + 250)
fill(188, 49, 52);
ellipse(0, 0, circleR + 220, circleR + 220);
fill(211, 66, 74);
ellipse(0, 0, circleR + 180, circleR + 180);
fill(208,57,64);
ellipse(0, 0, circleR + 140, circleR + 140);
fill(217,87,98);
ellipse(0, 0, circleR + 100, circleR + 100);
fill(213, 70, 75);
ellipse(0, 0, circleR + 90, circleR + 90);
fill(208, 57, 64);
ellipse(0, 0, circleR + 60, circleR + 60);
fill(217,87,98);
ellipse(0, 0, circleR + 50, circleR + 50);
fill(213, 98, 120);
ellipse(0, 0, circleR + 30, circleR + 30);
fill(60, 125, 195);
ellipse(0, 0, circleR, circleR);
//head
push();
rotate(0 + squareRotate);
noStroke();
fill(247, 204, 160);
arc(0, 0, 209, 225, 0, PI);
arc(5, 12, 200, 200, 0, 270);
//hair
noStroke();
fill(150,86,3);
arc(-width/4 + 65, -20, 50, 200, 0, PI, CHORD);
//ear
fill(247,204,160);
ellipse(-width/4 + 70,20,30,40);
//hair
fill(150,86,3);
arc(-width/4 + 85, -20, 30, 140, 0, PI, CHORD);
arc(-width/4 + 105, -20, 20, 100, 0, PI, CHORD);
//eyes
fill(255, 255, 255);
stroke(0, 0, 0);
strokeWeight(1);
ellipse(0, 25, 8, 8);
ellipse(45, 25, 8, 8);
//mouth
noFill();
stroke(0, 0, 0);
strokeWeight(2);
curve(5, mouthChange1, 10, 40, 40, 40, 50, mouthChange2);
//eyesbrows
noFill();
stroke(0, 0, 0);
strokeWeight(4);
line(41, 8, 51, 8);
line(-5, 8, 5, 8);
//#nocap
noStroke();
fill(43, 43, 43);
arc(-5, -20, 230, 210, PI, TWO_PI);
fill(35, 35, 35);
rect(-125, -40, 240, 30, 5, 5, 5, 5);
pop();
//'Hello' text
rotate(-PI/15);
textAlign(CENTER);
textSize(textChange);
fill(194, 203, 152);
textFont('Georgia Italic');
text("That's all Folks!", 0, 150);
}
For this project, I wanted to create a “Looney-Tunes style” graphic in which I could create an interactive cartoon. It involved a lot of tinkering, but I ended up making a dynamic drawing in a style that I prefer and that is within my skill range.