0

私はProcessingでプログラミングしています。必要なのはpmouseX/Yに相当するものですが、タッチ用ですが、マルチタッチを使用しており、各タッチポイントの以前の座標が必要なため、pmouseを使用できません。私は自分自身を明確にしたかどうかわかりません。例を行うには、スワイプの最初と最後の座標を知る必要があります

私は現在、初期座標を取得するために使用しています:

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

1 に答える 1

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

これをテストしませんでしたが、基本的にはこのように動作します。

于 2012-05-09T14:34:18.140 に答える