xxxxxxxxxx
122
//default state
let darkness = false;
let frameCount = 0;
let pupilSize = 20;
let colorMaps = [
{
//Light Color
r: 200,
g: 200,
b: 200,
},
{
//Face Color
r: 255,
g: 204,
b: 153,
}
];
let Face = {
x: 300,
y: 200,
col: colorMaps[1],
xspeed: 6,
yspeed: -4,
};
let Pupil1 = {
x: 300,
y: 200,
col: 'black', // pupil color
xspeed: -1,
yspeed: 0.2,
}
function setup() {
createCanvas(600, 400);
}
function draw() {
background(colorMaps[0].r,
colorMaps[0].g,
colorMaps[0].b
);
noStroke();
// face
fill(Face.col.r,
Face.col.g,
Face.col.b);
rectMode(CORNER);
rect(width/4,
height/5.5,
width/2, height/1.5);
frameCount++;
// eyes
fill(255);
ellipse(Face.x - 70,
Face.y - 50,
100, 100); // Left eye
ellipse(Face.x + 70,
Face.y - 50,
100, 100); // Right eye
// mouth
fill(20);
rectMode(CORNER);
rect(Face.x - 60,
Face.y + 50,
120, 50);
// mouth
fill(150,0,0);
rectMode(CENTER);
rect(Face.x,
Face.y + 90,
60, 20);
if (frameCount % 30 === 0) {
if (random() > 0.45) {
// Pupil enlarge
pupilSize = 40; // Increase pupil size a lot
} else {
// Pupil shrink
pupilSize = 30; // Increase pupil size slightly
}
}
fill(Pupil1.col);
ellipse(Pupil1.x - 70,
Pupil1.y - 50,
pupilSize,
pupilSize); // Left eye
ellipse(Pupil1.x + 70,
Pupil1.y - 50,
pupilSize,
pupilSize); // Right eye
}
//overriding existing function
function mousePressed() {
if (!darkness)
{
colorMaps[0].r = 20;
colorMaps[0].g = 20;
colorMaps[0].b = 20;
darkness = true;
}
else
{
colorMaps[0].r = 200;
colorMaps[0].g = 200;
colorMaps[0].b = 200;
darkness = false;
}
}