0

我是初学者,我使用 Canvas 在 SurfaceView 上开发了一个简单的 2D 游戏

但是,我的游戏现在需要多点触控,但我的触控方法只能获得一次触控,而不再是

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

如果它更容易,我不需要超过 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;
}
4

2 回答 2

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);
于 2013-08-12T08:33:44.023 回答
0

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

处理多点触控手势

于 2013-08-12T08:30:36.260 回答