私はズームイン/ズームアウト用にこのコードを書きました、そしてそれは2本の指でのみ動作するようにサポートされていますが、それは両方で動作します!そして一般的に奇妙な反応をします!誰もが理由を知っていますか?
boolean surfaceTouchEvent(MotionEvent event) {
pointNum=event.getPointerCount();
switch (event.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_POINTER_DOWN:
x1=event.getX(0);
x2=event.getX(1);
y1=event.getY(0);
y2=event.getY(1);
z4 = dist(x1, y1, x2, y2);
println("z4 is : "+z4);
mode = true; // pinch
break;
case MotionEvent.ACTION_MOVE:
if (mode = false) {
x3=event.getX(0)-x0;
y3=event.getY(0)-y0;
}
if (mode = true) {
x1=event.getX(0);
x2=event.getX(1);
y1=event.getY(0);
y2=event.getY(1);
float z3 = dist(x1, y1, x2, y2);
println("z3is :" + z3);
if ( z3 < z4 ) {
zoom = z3/z4;
println(" zoom :" + zoom);
}
else if ( z3 > z4) {
zoom = z3/z4;
println(" zoom :" + zoom);
}
}
break;
}
return super.surfaceTouchEvent(event);
}