diff --git a/src/game.js b/src/game.js index 875c7d8..9bbc845 100644 --- a/src/game.js +++ b/src/game.js @@ -8,7 +8,23 @@ export class Game { } start() { - addEventListener("keydown", (ev) => this.gameKeyAdapter.handleEvent(ev)); + let prevEv; + let holding = (ev) => { + if (!prevEv || prevEv.key != ev.key) return; + this.gameKeyAdapter.handleEvent(ev) + requestAnimationFrame(() => holding(ev)); + } + addEventListener("keydown", (ev) => { + if (prevEv) { + if (prevEv.key != ev.key) prevEv = undefined; + else return; + } + prevEv = ev; + requestAnimationFrame(() => holding(ev)); + }); + addEventListener("keyup", (ev) => { + if (prevEv && prevEv.key == ev.key) prevEv = undefined; + }); requestAnimationFrame(() => this.gameField.drawField()); } } \ No newline at end of file diff --git a/src/playerTank.js b/src/playerTank.js index bc02fc1..71f2a82 100644 --- a/src/playerTank.js +++ b/src/playerTank.js @@ -1,4 +1,4 @@ -import {DirectionEnum} from "./directionEnum"; +import { DirectionEnum } from "./directionEnum"; export class PlayerTank { @@ -29,7 +29,7 @@ export class PlayerTank { } this.direction = direction; - console.log(this.x + " " + this.y); + // console.log(this.x + " " + this.y); } draw(tileset, ctx, tilesize) {