My application uses android's simplegesturelistener to get a fling gesture. The onFling returns a velocityX and velocityY value. These values are a measure of pixels per second.
Everything is working as expected, but my issue is that the velocity values seem to have a maximum value. This value is different on different devices. For example, on a Motorola droid, the maximum velocity I can achieve is 4000. On a galaxy nexus the maximum is 8000.
My game uses this velocity to determine the speed a ball is kicked. I was using this maximum value to limit how hard the ball could be kicked. Since the maximum changes on different devices, the kick is not consistent. I have also had users tell me that on other devices they cannot get the ball to go far enough to reach the goal, no matter how hard they fling.
Is there any way to check the maximum of this gesture so that I can calculate the maximum for each device? I tried the ViewConfig.getScaledmaximumFlingVelocity, but that seems to give a completely seperate value.
At this point I am considering creating my own fling gesture, or simply coding a limit that is much lower. Unfortunately the latter would change the feel of the kick, reducing its sensitivity. However a consistent fling on any device is more important.
Any help would be appreciated!