survivors: fixing ui for touch events

This commit is contained in:
Sheldan
2025-09-07 20:11:34 +02:00
parent 70c19f2851
commit 272a86d7fc
2 changed files with 24 additions and 16 deletions

View File

@@ -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()

View File

@@ -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)
]
}