0

当我触摸一次 ( MotionEvent.Action_Down) 时,它会给出准确的所有 X 和 Y 坐标,但是当我触摸并移动手指 ( MotionEvent.Action_Move) 时,它会给出一些触摸坐标。

例如

我在 10 到 150 的 y 轴上拖动手指,这是准确的 我在这个轴上移动手指,但它给了我

10 13 15 19 20 25 26 28 29 31

event.getY()在我的 Logcat 中得到了所有这些,看看差异。1st 10 然后 13 但我也将手指移到 11,12 并且它没有给出我所有代码都在 ontouchevent 中的坐标

有谁能够帮助我 ??

4

2 回答 2

0

我认为这只是您必须忍受的东西,也许您可​​以生成一条贯穿您大部分观点的最佳拟合线并使用它?

触摸屏控制器不是无限快的,它不能捕捉你手指滑过的每一个像素,它只需要不时地对屏幕进行采样。

你能说一下你需要用这些数据做什么吗?

于 2012-04-16T17:49:57.923 回答
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);
于 2012-04-16T18:18:12.320 回答