// ratio of current zoom to the original zoom.
double zoomRatio = downZoom / zoomTween.getPosition();
// new distances from down point to center.
float newX = (float) (downCameraX + dx - dx * zoomRatio);
float newY = (float) (downCameraY + dy - dy * zoomRatio);
Camera cam = getCamera();
cam.zoomTo(zoomTween.getPosition());
cam.nudgeTo(newX, newY);
cam.fforward();
}
}