Touch issue in every projects!

To reproduce the issue, open any project, generate HTML5 game or build apk file, then open it in any touchscreen-device.

When loading screen appears (when game is loading), tap 2-3 times to anywhere, that there can be any buttons on any scenes of game.

Now, where you tapped 2-3 times before, will be “remembered” and will work forever. Even restart scene can’t help you. Only refreshing the page manually or reopen the game will help you to “forget” the touches.

Expectation:
Game has to “forget” any touches when scene restarted or changed to another scene. And of course, during loading the game any touches must be blocked or must not any affect to game)

My info:
GDevelop version: last (always auto-update);
OS: Windows 10 last version (always auto-update);

I can’t reproduce this using the mobile focused examples (Multitouch and virtual joystick example in the engine’s main list).

Are you testing examples designed for mouse input (“mouse cursor or touch is over” events)? In most cases those are using a virtual cursor, and the virtual cursor will go (and stay) where ever the last touch was.

If so, I’d recommend looking at the two examples I mentioned above to see how they’re set up. If they are also experiencing that issue for you, I can’t assist further since I can’t reproduce it, but maybe someone else can chime in.

1 Like

Thanks.
It was my mistake.
In my case, I was creating a HTML5 game, that playable with keyboard, mouse, touch, and these 3 ways of input do same things. Problem starts here)

Yes, touch and mouse inputs are similar things but not same thing!
What if device has touch-screen and mouse at the same time? I’m gonna support these devices too.
How to make actions that works only when mouse hover something (except touch)? If You will do this, it will work forever with touch devices!

Of course, You can avoid this quirks with controlling with special actions/conditions like “is device has touch-screen”, “move mouse cursor together with touch or separately”, etc.
But it will be VERY complicated way!
I still can’t understand, that why Mouse and Touch actions are mixed in GDevelop? Is it making games to be easier or harder? Answer is “easier”, but in reality “harder”!

Suggestions:

  1. So, I will suggest to separate that mouse and touch actions/conditions.

  2. And, when game is loading every input-types must be blocked. Now, if You press some key on the keyboard or tap (touch) to some area that acts something in the game it will remember, and acts when game starts. You can test it in any projects (e.g. Geometry Monster). And, sometimes mouse clicks also works when it clicked during loading screen and acts when game starts.

P.s. You can delete this topic if You want. Because, there was no bug.

Thanks)