1
멀티 터치 컨트롤을 만들려고하지만 화면에 표시 할 때 손가락을 다른 시퀀스에서 제거하면 항상 오류가 발생합니다.Android 멀티 터치 컨트롤
@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가 있지만 문제를 해결하려면 어떻게해야합니까?
하지만 ACTION_POINTER_UP을 사용하면 포인터가 다른 순서로 제거 된 경우에만 알 수 있습니다. 포인터 1을 제거하면 어떻게 포인터 2를 포인터 1로 만들 수 있습니까? – user2080326
이것은 자동으로 수행됩니다. getPointerID를 사용하는 문제 ID이지만 필요하지는 않습니다. 대신 : expos [a] = (int) event.getX (event.getPointerId (a)); 다음과 같이 작성해야합니다. expos [a] = (int) event.getX (a); – vicciu