eye animation
This commit is contained in:
parent
e4c9793d9a
commit
f3a917bb3a
11 changed files with 2240 additions and 5 deletions
43
sketch.js
43
sketch.js
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue