+2 votes

I have one panel and a few TouchScreenButton nodes on it. In the panel script I log events in the _input_event() function.

On Android, the event function receives SCREEN_TOUCH event whenever I touch the screen (on a touch button or on the panel). Also, if I touch and hold on the panel outside the buttons and then touch a button, it changes state to pressed. All good so far.

If I touch and hold on the panel and then touch at another point, the function does not receive another SCREEN_TOUCH event. Based on the events it looks like Godot only recognizes one touch, but then again, the touch buttons work fine with multiple touches.

Shouldn't the event function receive one event per every new touch?

in Engine by (71 points)
edited by

Godot supports multitouch (at least _input and _unhandled_input does), but some older devices might not have it.
What do you mean by inputevent() function? CollisionObject2D._input_event() or what?

I mean Control._input_event() re-implemented in my in script for the panel (of type Panel).

And the device definitely supports multi touch. It does work with multiple TouchScreenButtons, but I just don't receive events for more than one touches at a time in the _input_event() function.

1 Answer

+2 votes
Best answer

I'm answering my own question: It seems that Control._input_event() does not receive multiple events, but Node._input() does. I'll just use that then. Thanks for the hint, Kermer.

by (71 points)
selected by
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.