当我触摸一次(MotionEvent.Action_Down
)时,它给了我准确的所有X& Y坐标,但是当我触摸并移动我的手指(MotionEvent.Action_Move
)时,它会给出一些触摸的坐标。
例如
我在y轴10到150上拖动手指,这是准确的我在这个轴上移动我的手指但是它给了我
10 13 15 19 20 25 26 28 29 31
我在Logcat中通过event.getY()
得到所有这些,看看差异。 1月10日然后是13但是我的手指也在11,12上移动了它并没有给出我所有代码都在ontouchevent的坐标
任何人都可以帮助我吗?
答案 0 :(得分:0)
我认为这只是你必须要忍受的东西,也许你可以产生一条最适合你的大部分点并使用它的线条?
触摸屏控制器无法快速无法捕捉到手指滑过的每一个像素,它只需要经常对屏幕进行采样。
你能说出你需要使用这些数据吗?
答案 1 :(得分:0)
要确定某些手指是否与您的线条相交,您可以测试每对相邻的触摸坐标并根据您的线进行测试。
以下页面包含一些Java代码,可用于测试两行的交集: http://www.ahristov.com/tutorial/geometry-games/intersection-lines.html
假设您使用该页面中的方法,并假设您有一组称为点的触点,您可以测试与以下代码的交集:
boolean doesIntersect = intersection(points[i-1].x, points[i-1].y, points[i].x, points[i].y, yourlinestart.x, yourlinestart.y, yourlineend.x, yourlineend.y);