如何在Android中使用MultiTouch?请简单的方法

时间:2013-08-12 08:16:24

标签: android eclipse touch surfaceview multi-touch

我是一个近乎开始的人,我使用Canvas在SurfaceView上开发了一个简单的2D游戏

然而,我的游戏现在需要multiTouch,但我的触控方法只能轻触一下

如果你回答一个简单的详细答案,那将会很棒,因为我一直在研究这个问题而且我对此感到很困惑。

如果它更容易,我将不需要超过2次触摸,所以我最多只需要2次触摸..

下面是我当前单数触摸的代码......

非常感谢:)

public boolean onTouch (View v, MotionEvent event)
{
    x = event.getX (); // with this I am getting the x position of one singular point of where the curse would be
    y = event.getY ();

    if (event.getAction () == MotionEvent.ACTION_DOWN)
    {
        fingerTouching = true; //this is just for one, how would I do it for all the cursors ? in like a for loop?
        return true;
    }

    if (event.getAction () == MotionEvent.ACTION_UP)
    {
        fingerTouching = false;
        return false;
    }

    if (event.getAction () == MotionEvent.ACTION_MOVE)
    {
        fingerMoving = true;
        return true;
    }
    return false;
}

2 个答案:

答案 0 :(得分:0)

您是否尝试过在此处查看Android文档?

Handling Multi-Touch Gestures

答案 1 :(得分:0)

使用下一个事件来检测更多触摸:

MotionEvent.ACTION_POINTER_DOWN
MotionEvent.ACTION_POINTER_UP

这就是获取坐标:

if (event.getPointerCount()>1) {
    x[1] = event.getX(1);
    y[1] = event.getY(1);
}
x[0] = event.getX(0);
y[0] = event.getY(0);