我正在使用Processing进行编程,我需要的是相当于pmouseX / Y但是对于触摸,但我不能使用pmouse,因为我使用多点触摸,我需要每个触摸点的先前坐标。我不知道自己是否已经说清楚,做一个例子我需要知道滑动的初始和最终坐标
我目前用来获取初始坐标:
public boolean surfaceTouchEvent(MotionEvent me) {
float x0=me.getX(0);
float y0=me.getY(0);
....
....
return super.surfaceTouchEvent(me);
}
答案 0 :(得分:0)
我不确定我是不是在这里,因为这似乎是非常基本的编程,但我会尝试。
只需使用ArrayList并在那里添加每个位置。对于不同的触摸,您可能希望使用HashMap,如下所示:
HashMap<MotionEvent, ArrayList<Point2D.Float>> touches = new HashMap<MotionEvent, ArrayList<Point2D.Float>>();
public boolean surfaceTouchEvent(MotionEvent me)
{
float x0=me.getX(0);
float y0=me.getY(0);
if (!touches.containsKey(me))
{
touches.add(me, new ArrayList<Point2D.Float>());
}
else
{
// get previous position
Point2D.Float prevpos = touches.get(me).get(touches.get(me).size() - 1);
}
touches.get(me).add(new Point2D.Float(x0, y0));
....
}
没有测试过这个,但基本上它是如何工作的。