1

我正在尝试进行多点触控控制,但是当我以不同的顺序移开手指时,我总是会出错,因为我将手指放在屏幕上。

@Override
public boolean onTouchEvent(MotionEvent event) {
    pointers = event.getPointerCount();
    for(int a = 0; a < event.getPointerCount(); a++) {
        expos[a] = (int) event.getX(event.getPointerId(a));
        eypos[a] = (int) event.getY(event.getPointerId(a));
    }
    if(event.getAction() == MotionEvent.ACTION_DOWN) pressed = true;
    if(event.getAction() == MotionEvent.ACTION_UP) pressed = false;
    return true;
}

我认为问题是当我移除第一根手指时,第二根手指仍然有 id 2,但我能做些什么来修复它?

4

1 回答 1

1

据我了解,问题是当您松开其中一根手指时您没有收到 ACTION_UP 事件。解决方案是使用 ACTION_POINTER_UP。它将检测任何非主指针的释放并应该解决问题

于 2013-02-17T12:49:01.223 回答