eye animation

This commit is contained in:
Daniel Kauss Serna 2026-03-12 15:31:02 +01:00
parent e4c9793d9a
commit f3a917bb3a
11 changed files with 2240 additions and 5 deletions

View file

@ -176,8 +176,11 @@ const leg2 = new Leg();
const leg3 = new Leg();
const leg4 = new Leg();
let mouseInter = new vec(0, 0);
let baseColor;
let baseColor;
let gillColor;
let lastBlinkTime = 0;
let nextBlinkDelay = 3000;
let blinkDuration = 150;
function setup() {
createCanvas(displayWidth, displayHeight);
@ -268,7 +271,39 @@ function draw() {
let eye1 = bodyPoints[0].getRel(HALF_PI / 2, 45);
let eye2 = bodyPoints[0].getRel(-HALF_PI / 2, 45);
fill(0);
circle(eye1.x, eye1.y, 12);
circle(eye2.x, eye2.y, 12);
if (time > lastBlinkTime + nextBlinkDelay) {
lastBlinkTime = time;
nextBlinkDelay = random(2000, 6000);
}
let isBlinking = time < lastBlinkTime + blinkDuration;
if (isBlinking) {
push();
stroke(0);
strokeWeight(4);
let headAngle = bodyPoints[0].forward.heading();
push();
translate(eye1.x, eye1.y);
rotate(headAngle + HALF_PI);
line(-6, 0, 6, 0);
pop();
push();
translate(eye2.x, eye2.y);
rotate(headAngle + HALF_PI);
line(-6, 0, 6, 0);
pop();
pop();
} else {
push();
fill(0);
noStroke();
circle(eye1.x, eye1.y, 12);
circle(eye2.x, eye2.y, 12);
pop();
}
}