可能重复:
指针问题!(安卓)
我一直在到处寻找一种代码,它只为每个指针获取一个 X 值和一个 Y 值,并且可能为每个指针获取一些不同的布尔变量,以便轻松理解正在发生的事情。
我自己一直在编写代码,但它并没有像我想要的那样工作。它将保存四对不同的 X 和 Y 坐标,但问题是每当一个手指从屏幕上移开时,所有指针(在布尔型 touch[] 中)都会暂时变为假。有谁知道如何使每个指针独立,以便当一根手指从屏幕上移开时,只有布尔数组中的那个值会变为假?
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
int action = (event.getAction() & MotionEvent.ACTION_MASK);
int pointCount = event.getPointerCount();
for (int i = 0; i < pointCount; i++) {
int id = event.getPointerId(i);
if (id < MAX_NUMBER_OF_POINT) {
xA[id] = (int) event.getX(i);
yA[id] = (int) event.getY(i);
if ((action == MotionEvent.ACTION_DOWN)
|| (action == MotionEvent.ACTION_POINTER_DOWN)
|| (action == MotionEvent.ACTION_MOVE)) {
touching[id] = true;
} else {
touching[id] = false;
}
}
}
for (int i2 = 0; i2 < 5; i2++) {
if (touching[i2] == false) {
xA[i2] = 0;
yA[i2] = 0;
}
}
x1 = xA[0];
x2 = xA[1];
x3 = xA[2];
x4 = xA[3];
y1 = yA[0];
y2 = yA[1];
y3 = yA[2];
y4 = yA[3];
return true;
}
谢谢!