Как изменить масштабирование колесика мыши в 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;
Другие вопросы по тегам