xxxxxxxxxx
let smileyStep = 0;
let smileySpeed = 1;
let timer;
let delay = 400; // I solved my delay problem from last week!
let mouseComparison;
let pmouseComparison;
function setup()
{
createCanvas(windowWidth, windowHeight);
strokeWeight(5);
}
function draw()
{
//erases my previous self
background(255, 255, 255);
//measure my past self
if (mouseX != pmouseX || mouseY != pmouseY)
{
mouseComparison = true;
}
else
{
mouseComparison = false;
if (smileyStep > 0)
{
smileyStep -= smileySpeed;
}
}
if (mouseComparison != pmouseComparison)
{
timer = millis();
}
if (millis() - timer > delay)
{
if (mouseX != pmouseX || mouseY != pmouseY)
{
if(abs(mouseX - pmouseX) + abs(mouseY - pmouseY) > 0)
{
if (smileyStep < 100)
{
smileyStep += smileySpeed;
}
}
}
}
pmouseComparison = mouseComparison;
// creates my current self
noFill();
ellipse(mouseX, mouseY, 350);
fill(0);
ellipse(mouseX - 60, mouseY - 50, 40);
ellipse(mouseX + 60, mouseY - 50, 40);
noFill();
beginShape();
vertex(mouseX - 100, mouseY + (100 - smileyStep));
bezierVertex (mouseX - 50, mouseY + smileyStep, mouseX + 50, mouseY + smileyStep, mouseX + 100, mouseY + (100 - smileyStep));
endShape();
}
/* happyState
vertex(mouseX - 100, mouseY);
bezierVertex (mouseX - 70, mouseY + 120, mouseX + 70, mouseY + 120, mouseX + 100, mouseY);
endShape();
*/