Hi at all, I have one issues with multitouch features offers by the MotionEvent class, this is my code:
@Override public boolean onTouchEvent(MotionEvent event) { [....] if(event.getPointerCount() == 1){ switch (event.getAction()) { case MotionEvent.ACTION_DOWN: finger_one_ID = event.getAction() & MotionEvent.ACTION_POINTER_ID_MASK; finger_one_X = (int) event.getX(finger_one_ID); finger_one_Y = (int) event.getY(finger_one_ID); renderer.stopTimer(); break; case MotionEvent.ACTION_UP: finger_one_ID = NONE; renderer.setFrictionY(OpenGLRenderer.DEFAULT_FRICTION_Y); renderer.setFrictionX(OpenGLRenderer.DEFAULT_FRICTION_X); renderer.startTimer(); break; case MotionEvent.ACTION_MOVE: deltaX = finger_one_X - (int) event.getX(finger_one_ID); deltaY = finger_one_Y - (int) event.getY(finger_one_ID); deltaX = Math.abs(deltaX); deltaY = Math.abs(deltaY); distance = (float) ((Math.sqrt(Math.pow(deltaX,2) + Math.pow(deltaY, 2)))); renderer.setFrictionY(OpenGLRenderer.NULL_FRICTION); renderer.setFrictionX(OpenGLRenderer.NULL_FRICTION); if(deltaX > 5.0f && deltaX < 80) renderer.setYacc( (deltaX / 50)); else if(deltaY > 5.0f && deltaY < 80) renderer.setXacc( (deltaY / 50)); break; default: break; } Log.d(TAG, "Single finger_one_Y:"+finger_one_X); Log.d(TAG, "Single finger_one_Y:"+finger_one_Y); } else if(event.getPointerCount() == 2){ Log.d(TAG,"Doppio Tocco"); switch (event.getAction()) { case MotionEvent.ACTION_POINTER_DOWN: finger_two_ID = MotionEvent.ACTION_POINTER_DOWN & MotionEvent.ACTION_POINTER_ID_MASK; finger_two_X = (int) event.getX(finger_two_ID); finger_two_Y = (int) event.getY(finger_two_ID); multitouch_distance = (float) Math.sqrt(Math.pow(finger_one_X - finger_two_X, 2) + Math.pow(finger_one_Y - finger_two_Y, 2)); break; case MotionEvent.ACTION_MOVE: finger_one_X = (int) event.getX(finger_one_ID); finger_one_Y = (int) event.getY(finger_one_ID); finger_two_X = (int) event.getX(finger_two_ID); finger_two_Y = (int) event.getY(finger_two_ID); multitouch_distance_updated = (float) Math.sqrt(Math.pow(finger_one_X - finger_two_X, 2) + Math.pow(finger_one_Y - finger_two_Y, 2)); Log.d(TAG,"multitouch_distance_updated:"+String.valueOf(multitouch_distance_updated)); default: break; } Log.d(TAG, "Double finger_one_Y:"+finger_one_X); Log.d(TAG, "Doppio finger_one_Y:"+finger_one_Y); Log.d(TAG, "Doppio finger_two_Y:"+finger_two_X); Log.d(TAG, "Doppio finger_two_Y:"+finger_two_Y); } } The problem is that in multitouch branch of my code the X,Y of first and second finger are the same, therefore the multitouch distance is even zero!! I am tried to develop an two fingers zoom... Any suggestion will be appreciated. pedr0 -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en