From 92dd10a82b8e3e7773448f2b1d3d4afe4e742a38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=9Cchrisshank=E2=80=9D?= Date: Sat, 17 Aug 2024 22:38:13 -0700 Subject: [PATCH] demo collision detection --- demo/collision.html | 66 ++++++++++++++++++++++++++++++++ demo/index.html | 1 + src/elements/spatial-geometry.ts | 4 +- 3 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 demo/collision.html diff --git a/demo/collision.html b/demo/collision.html new file mode 100644 index 0000000..f1a30d4 --- /dev/null +++ b/demo/collision.html @@ -0,0 +1,66 @@ + + + + + + Shapes - Collision + + + + Shape with some text + Shape with some text + + + + diff --git a/demo/index.html b/demo/index.html index c54754b..8de400a 100644 --- a/demo/index.html +++ b/demo/index.html @@ -20,6 +20,7 @@ diff --git a/src/elements/spatial-geometry.ts b/src/elements/spatial-geometry.ts index 675da7f..09c458c 100644 --- a/src/elements/spatial-geometry.ts +++ b/src/elements/spatial-geometry.ts @@ -8,7 +8,7 @@ export type Vector = { x: number; y: number; movementX: number; movementY: numbe // Should the move event bubble? export class MoveEvent extends CustomEvent { constructor(vector: Vector) { - super('move', { detail: vector, cancelable: true, bubbles: false }); + super('move', { detail: vector, cancelable: true, bubbles: true }); } } @@ -66,7 +66,7 @@ export class SpatialGeometry extends HTMLElement { this.#x = Number(newValue); this.#requestUpdate('x'); } else if (name === 'y') { - this.#previousY = 0; + this.#previousY = this.#y; this.#y = Number(newValue); this.#requestUpdate('y'); } else if (name === 'type') {