触摸对象的先前坐标

时间:2012-05-02 17:35:11

标签: android coordinates processing multi-touch

我正在使用Processing进行编程,我需要的是相当于pmouseX / Y但是对于触摸,但我不能使用pmouse,因为我使用多点触摸,我需要每个触摸点的先前坐标。我不知道自己是否已经说清楚,做一个例子我需要知道滑动的初始和最终坐标

我目前用来获取初始坐标:

    public boolean surfaceTouchEvent(MotionEvent me) {
    float x0=me.getX(0);
    float y0=me.getY(0);
    ....
    ....
    return super.surfaceTouchEvent(me);
    }

1 个答案:

答案 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));
    ....
}

没有测试过这个,但基本上它是如何工作的。