xxxxxxxxxx
83
const cornerSize = 60
function setup() {
createCanvas(400, 400);
stroke(0)
strokeCap(ROUND)
strokeWeight(10)
noFill();
}
function draw() {
background(255);
const moveX = map( mouseX, 0, width, -6, 6 )
const moveY = map( mouseY, 0, height, -4, 6 )
const eyesOpenVar = map( sin( frameCount/20 ) , 0.9, 1, 1, 0, true )
// eyes
push()
translate( 0, 150 )
line(width/2-cornerSize + moveX,0 + moveY,width/2-cornerSize + moveX,eyesOpenVar * ( 30 + moveY ) )
line(width/2+cornerSize + moveX,0 + moveY,width/2+cornerSize + moveX,eyesOpenVar * ( 30 + moveY ) )
pop()
// nose
strokeJoin(ROUND);
beginShape();
vertex(width/2, 150);
vertex(width/2, 220);
vertex(width/2-30, 220);
endShape();
beginShape();
/*
curveVertex(width/2-cornerSize, 250);
curveVertex(width/2-cornerSize, 250);
curveVertex(width/2, 270);
curveVertex(width/2+cornerSize, 250);
curveVertex(width/2+cornerSize, 250);
*/
vertex(width/2-cornerSize, 250);
quadraticVertex(width/2, 300, width/2+cornerSize, 250);
endShape();
// Corners
strokeJoin(ROUND);
beginShape();
vertex(cornerSize, cornerSize*2);
vertex(cornerSize, cornerSize);
vertex(cornerSize*2, cornerSize);
endShape();
beginShape();
vertex(width-cornerSize, cornerSize*2);
vertex(width-cornerSize, cornerSize);
vertex(width-cornerSize*2, cornerSize);
endShape();
beginShape();
vertex(width-cornerSize, height-cornerSize*2);
vertex(width-cornerSize, height-cornerSize);
vertex(width-cornerSize*2, height-cornerSize);
endShape();
beginShape();
vertex(cornerSize, height-cornerSize*2);
vertex(cornerSize, height-cornerSize);
vertex(cornerSize*2, height-cornerSize);
endShape();
}