[Android] - At some zoom in, map pan, screen pan, textbox scroll interact in a very glitchy manner

4 posts / 0 new
Last post
[Android] - At some zoom in, map pan, screen pan, textbox scroll interact in a very glitchy manner

It's hard to describe what actually happens, but here's how to reproduce:

1. Zoom the screen in a little.
2. Drag the finger around in circles on the text box.

It should affect only the text box scroll, or at worst the text box scroll and the screen pan.

But for some reason it also moves the map around, and even in an unpredictable manner.

In retrospect and trying on a bigger device this seems to be because the three drag modes don't capture the drag exclusively, so you can move from one drag mode to the other and cause, when moving in big circles, very illogical input data.

Sorry for the glitchy UI. Just to make sure I understand, this is basically a problem with the zoom window and other scrollable UI elements competing for input, right?

E.g. if you zoom-in and start panning around, it works normally until a scrollable UI thing appears in the zoom window, and then panning stops while the scrollable UI thing takes over?

If so, this might not be too hard to fix. We might just need to disable scrolling UI widgets while zoomed-in.

Let me know if I've got the details right. Thanks!

Dan Fedor - Founder, Blue Bottle Games

It's a little bit different. There are three *pan* elements:

1. text scroll thing
2. game map
3. the entire screen (when zoomed in)

And the problem is that when you put your finger down and start panning, the pan mode is not locked to the first one touched, but pan mode is enabled globally, and the thing that pans is determined by what your finger moves across.

This is made even worse by the fact that you can start panning on the map, move down into the text scroll, move to the side, back into the map, and then the map will try to interpret a pan from, e.g. X: 50 Y: 200 to X: 450 Y: 200, which of course just makes it glitch around since that is an unreasonable movement.