Как изменить масштабирование колесика мыши в Piccolo2D?
В большинстве случаев вращение колеса вниз уменьшает размер масштабируемых объектов, в то время как вращение колеса вверх увеличивает размеры.
В piccolo2d поведение по умолчанию полностью изменено:
private static void showWorldNode() {
new PFrame() {
@Override
public void initialize() {
getCanvas().getLayer().addChild(worldNode);
PMouseWheelZoomEventHandler mouseWheelZoomEventHandler = new PMouseWheelZoomEventHandler();
mouseWheelZoomEventHandler.zoomAboutMouse();
getCanvas().addInputEventListener(mouseWheelZoomEventHandler);
}
};
}
Как вернуться к дефолту?
1 ответ
Решение
Вы можете указать отрицательный коэффициент масштабирования, чтобы изменить поведение, например:
mouseWheelZoomEventHandler.setScaleFactor(-0.1d);
PMouseWheelZoomEventHandler
вычисляет значение масштабирования на основе коэффициента масштабирования и значения MouseWheelEvent.getWheelRotation(), которое возвращает:
отрицательные значения, если колесо мыши было повернуто вверх / в сторону от пользователя, и положительные значения, если колесо мыши было повернуто вниз / в сторону пользователя
Вот соответствующий код из PMouseWheelZoomEventHandler
double scale = 1.0d + event.getWheelRotation() * scaleFactor;