Phaser 3.17.0

So I updated from 3.16.2 to 3.17.0 and found piculiar bugs. There are two issues.

  1. pointerup isn’t fired when dragging sometimes.

i have a scrollable container with setInteractive().on(“pointerdown”,<>).on(“pointermove”,<>).on(“pointerup”)
i press, drag for a short distance and release the mouse button, and pointerup isn’t called. on a mobile device, it’s fine (so looks like it’s mouseup not bubbling up). currently i use window.addEventListener(“mouseup”) as a workaround.

  1. duplicate pointermove call on release. I calculate distance travelled in last 2 frames to determine if i should scroll the view or not. so if i flick a finger, it should scroll, but i slow down at the last second, it shouldnt. It was working fine on 3.16.2, but all of sudden dx (this frames’s pointer.x - last frame’s pointer.x) is always 0. found out that “last pointer move” is from “mouseup” event. eg ) pointer.event.type was “mouseup”. currently i check this pointer.event.type on pointermove, and if it’s mouseup, i manually call pointerup event as workaround.

gabe

1 Like

Hi @Gabriel_Cho,

Thanks for taking the time to share the issues you found. By chance, did you happen to create issues on the GitHub repo? These issues may get additional visibility if there are added there.

Here is a link in case you need it: Phaser 3 Repo

Hi @Gabriel_Cho

I confirm that with version 3.16.2 ‘pointerup’ works correctly but with version 3.17.0 I have the same problem, ‘pointerup’ is not always fired.

Problem detected in Samsung galaxy S10 with Android 9

error

1 Like

I also faced this problem and I was helped by the addition of the queue. Here’s the code:

input: {
            queue: true
        },
1 Like