diff --git a/absurd-survivors/src/main.ts b/absurd-survivors/src/main.ts index e4b2d7a..82f1f01 100644 --- a/absurd-survivors/src/main.ts +++ b/absurd-survivors/src/main.ts @@ -128,19 +128,29 @@ docReady(function () { hud = new HUD(world, keys); canvas.onmousedown = (event) => { - hud.mouseDown(event) + event.preventDefault() + let pos = new Vector(event.x, event.y) + hud.mouseDown(pos) } canvas.onmouseup = (event) => { - hud.mouseUp(event) + event.preventDefault() + let pos = new Vector(event.x, event.y) + hud.mouseUp(pos) } - canvas.touchstart = (event) => { - hud.mouseDown(event) - } + canvas.addEventListener("touchstart", (event) => { + event.preventDefault() + let touch = event.touches[0] + let pos = new Vector(touch.clientX, touch.clientY) + hud.mouseDown(pos) + }); - canvas.touchend = (event) => { - hud.mouseUp(event) - } + canvas.addEventListener("touchend", (event) => { + event.preventDefault() + let touch = event.touches[0] + let pos = new Vector(event.clientX, event.clientY) + hud.mouseUp(pos) + }); ItemManagement.initializeItems() diff --git a/absurd-survivors/src/ui.ts b/absurd-survivors/src/ui.ts index 491f8d9..ecca10e 100644 --- a/absurd-survivors/src/ui.ts +++ b/absurd-survivors/src/ui.ts @@ -19,13 +19,11 @@ export class HUD implements DrawContainer { this.controls.draw(ctx) } - mouseDown(event: MouseEvent) { - let pos = new Vector(event.x, event.y) + mouseDown(pos: Vector) { this.controls.mouseDown(pos) } - mouseUp(event: MouseEvent) { - let pos = new Vector(event.x, event.y) + mouseUp(pos: Vector) { this.controls.mouseUp(pos) } @@ -39,12 +37,12 @@ export class Controls implements DrawContainer, MouseInterActingContainer { constructor(world: World, keys: any) { this.world = world; - + let gapSize = 10; this.buttons = [ - new KeyboardButton(new Vector(this.world.size.x - 150, this.world.size.y - 150), new Vector(50, 50), 'W', keys), + new KeyboardButton(new Vector(this.world.size.x - 150, this.world.size.y - 150 - gapSize), new Vector(50, 50), 'W', keys), new KeyboardButton(new Vector(this.world.size.x - 150, this.world.size.y - 100), new Vector(50, 50), 'S', keys), - new KeyboardButton(new Vector(this.world.size.x - 100, this.world.size.y - 100), new Vector(50, 50), 'D', keys), - new KeyboardButton(new Vector(this.world.size.x - 200, this.world.size.y - 100), new Vector(50, 50), 'A', keys) + new KeyboardButton(new Vector(this.world.size.x - 100 + gapSize, this.world.size.y - 100), new Vector(50, 50), 'D', keys), + new KeyboardButton(new Vector(this.world.size.x - 200 - gapSize, this.world.size.y - 100), new Vector(50, 50), 'A', keys) ] }