Так что в моем обновлении posX должен быть изменен при нажатии клавиши "w", но ничего не происходит. Если я избавляюсь от оператора if и просто изменяю его при каждом вызове функции update, он работает.
class FPlayer {
constructor(windowWidth, windowHeight, width, height, posX, posY) {
this.width = width;
this.height = height;
this.posX = posX;
this.posY = posY;
this.windowWidth = windowWidth;
this.windowHeight = windowHeight;
this.x = 0;
addEventListener("keydown", this.handler);
}
update() {
if(this.x == 87) {
this.posX += 2;
}
}
draw() {
c.beginPath();
c.fillStyle = "blue";
c.fillRect(this.posX, this.posY, this.width, this.height);
c.closePath();
}
handler(event) {
this.x = event.keyCode;
}
}