From e90a424e540921d8483ead4fc91b7f47a97f1494 Mon Sep 17 00:00:00 2001 From: Nikita Iryupin Date: Mon, 3 May 2021 14:33:06 +0200 Subject: [PATCH] [BUG} Trying fix pressing buttons out of focus --- src/KeyAdapters/tankKeyAdapter.js | 10 +++++----- src/game.js | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/KeyAdapters/tankKeyAdapter.js b/src/KeyAdapters/tankKeyAdapter.js index c264342..68a75da 100644 --- a/src/KeyAdapters/tankKeyAdapter.js +++ b/src/KeyAdapters/tankKeyAdapter.js @@ -1,15 +1,15 @@ import { GameKeyAdapterInterface } from "./gameKeyAdapterInterface"; -import {DirectionEnum} from "../Tanks/directionEnum"; +import { DirectionEnum } from "../Tanks/directionEnum"; -export class TankKeyAdapter extends GameKeyAdapterInterface{ +export class TankKeyAdapter extends GameKeyAdapterInterface { - constructor(tank){ + constructor(tank) { super(); this.tank = tank; } - handleEvent(event){ - switch(event.key){ + handleEvent(event) { + switch (event.key) { case "ArrowLeft": this.tank.move(DirectionEnum.Left); break; diff --git a/src/game.js b/src/game.js index 81d9dd4..75a10fd 100644 --- a/src/game.js +++ b/src/game.js @@ -1,4 +1,4 @@ -import { GameField } from "./Graphics/gameField"; +import { GameField } from "./GameLogic/gameField"; import { TankKeyAdapter } from "./KeyAdapters/tankKeyAdapter"; export function init() { @@ -20,6 +20,11 @@ export class Game { let prevEv; let holding = (ev) => { if (!prevEv || prevEv.key != ev.key) return; + if (document.visibilityState == "hidden") { + alert("I'm hidden"); + prevEv = undefined; + return; + } this.gameKeyAdapter.handleEvent(ev) requestAnimationFrame(() => holding(ev)); }