-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathinput.js
18 lines (18 loc) · 908 Bytes
/
input.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export default class InputHandler {
constructor(game, animate, restartGame) {
this.game = game;
this.keys = [];
window.addEventListener("keydown", event => {
if ((event.key === "ArrowRight" || event.key === "ArrowLeft" || event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "f") && !this.keys.includes(event.key)) {
this.keys.push(event.key);
} else if ((event.key === "r" || event.key === "R" || event.key === "Enter") && this.game.gameOver) {
restartGame(this.game, animate);
}
})
window.addEventListener("keyup", event => {
if (event.key === "ArrowRight" || event.key === "ArrowLeft" || event.key === "ArrowUp" || event.key === "ArrowDown" || event.key === "f") {
this.keys.splice(this.keys.indexOf(event.key), 1);
}
})
}
}