Animation arc-en-ciel pour le personnage: clignotement multicolore
This commit is contained in:
9
game.js
9
game.js
@ -142,6 +142,7 @@ class Pacman {
|
||||
this.speed = 0.15;
|
||||
this.pixelX = this.x * CELL_SIZE + CELL_SIZE / 2;
|
||||
this.pixelY = this.y * CELL_SIZE + CELL_SIZE / 2;
|
||||
this.colorAnimation = 0;
|
||||
}
|
||||
|
||||
update() {
|
||||
@ -153,6 +154,11 @@ class Pacman {
|
||||
this.mouthOpen = !this.mouthOpen;
|
||||
}
|
||||
|
||||
this.colorAnimation += 0.3;
|
||||
if (this.colorAnimation > Math.PI * 2) {
|
||||
this.colorAnimation = 0;
|
||||
}
|
||||
|
||||
const gridX = Math.floor(this.pixelX / CELL_SIZE);
|
||||
const gridY = Math.floor(this.pixelY / CELL_SIZE);
|
||||
|
||||
@ -243,7 +249,8 @@ class Pacman {
|
||||
const rotation = [Math.PI * 1.5, 0, Math.PI * 0.5, Math.PI];
|
||||
ctx.rotate(rotation[this.direction]);
|
||||
|
||||
ctx.fillStyle = '#ffd700';
|
||||
const hue = (this.colorAnimation * 180 / Math.PI) % 360;
|
||||
ctx.fillStyle = `hsl(${hue}, 100%, 50%)`;
|
||||
ctx.beginPath();
|
||||
|
||||
if (this.mouthOpen) {
|
||||
|
||||
Reference in New Issue
Block a user