Fix movement of tank
This commit is contained in:
parent
1cda01992f
commit
66b9bc713c
18
src/game.js
18
src/game.js
@ -8,7 +8,23 @@ export class Game {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
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());
|
requestAnimationFrame(() => this.gameField.drawField());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import {DirectionEnum} from "./directionEnum";
|
import { DirectionEnum } from "./directionEnum";
|
||||||
|
|
||||||
export class PlayerTank {
|
export class PlayerTank {
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ export class PlayerTank {
|
|||||||
}
|
}
|
||||||
this.direction = direction;
|
this.direction = direction;
|
||||||
|
|
||||||
console.log(this.x + " " + this.y);
|
// console.log(this.x + " " + this.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
draw(tileset, ctx, tilesize) {
|
draw(tileset, ctx, tilesize) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user