xxxxxxxxxx
58
class Shape {
constructor(x, y, size, d_in, d_out, c) {
this.x = x;
this.y = y;
this.size = size;
this.d_in = d_in;
this.d_out = d_out;
this.c = c;
this.angle = 15;
this.amt = 0;
}
display() {
push();
translate(this.x, this.y);
// for (let i=0; i<3; i++) {
// for (let j=0; j<3; j++) {
// rect(i*this.size, j*this.size, this.size, this.size);
// }
// }
strokeWeight(4);
stroke(23,14,85);
fill(this.c);
arc(1*this.size, 1*this.size, this.d_in, this.d_in, 0 + this.angle, 90 + this.angle);
arc(2*this.size, 1*this.size, this.d_in, this.d_in, 90 + this.angle, 180 + this.angle);
arc(1*this.size, 2*this.size, this.d_in, this.d_in, 270 + this.angle, 360 + this.angle);
arc(2*this.size, 2*this.size, this.d_in, this.d_in, 180 + this.angle, 270 + this.angle);
noFill();
arc(1*this.size, 1*this.size, this.d_out, this.d_out, 0 + this.angle, 90 + this.angle);
arc(2*this.size, 1*this.size, this.d_out, this.d_out, 90 + this.angle, 180 + this.angle);
arc(1*this.size, 2*this.size, this.d_out, this.d_out, 270 + this.angle, 360 + this.angle);
arc(2*this.size, 2*this.size, this.d_out, this.d_out, 180 + this.angle, 270 + this.angle);
pop();
}
move() {
// this.angle += 1;
// Linear Interpolation eqn: y = min + amt * (max - min)
this.angle = easeInOutQuad(this.amt) * 360;
if(this.amt > 1) {
this.amt = 0;
} else {
this.amt += 0.01;
}
}
}