如何在Piccolo2D中反转鼠标滚轮变焦处理?

时间:2014-05-19 16:28:41

标签: java scaling mousewheel piccolo

在大多数应用中,旋转轮向下会减小缩放对象的大小,而向上旋转轮会增加尺寸。

在picc​​olo2d中,默认行为相反:

private static void showWorldNode() {
        new PFrame() {

            @Override
            public void initialize() {

                getCanvas().getLayer().addChild(worldNode);

                PMouseWheelZoomEventHandler mouseWheelZoomEventHandler = new PMouseWheelZoomEventHandler();
                mouseWheelZoomEventHandler.zoomAboutMouse();
                getCanvas().addInputEventListener(mouseWheelZoomEventHandler);
            }

        };
    }

如何撤消默认值?

1 个答案:

答案 0 :(得分:1)

您可以提供负比例因子来反转行为,例如:

mouseWheelZoomEventHandler.setScaleFactor(-0.1d);

PMouseWheelZoomEventHandler根据比例因子和返回的MouseWheelEvent.getWheelRotation()值计算缩放值:

  

如果鼠标滚轮向上/远离用户旋转,则为负值,   如果鼠标滚轮向下/向下旋转,则为正值   用户

以下是PMouseWheelZoomEventHandler

的相关代码
double scale = 1.0d + event.getWheelRotation() * scaleFactor;