如何使用paperjs进行平移

如何使用paperjs进行平移,paperjs,Paperjs,我一直在想如何使用onMouseDrag和paperjs中的onMouseDown进行平移/缩放。 我看到的唯一参考是coffescript,它没有使用paperjs工具。这花费了我更长的时间 var toolZoomIn = new paper.Tool(); toolZoomIn.onMouseDrag = function (event) { var a = event.downPoint.subtract(event.point); a = a.add(paper.vie

我一直在想如何使用onMouseDrag和paperjs中的onMouseDown进行平移/缩放。

我看到的唯一参考是coffescript,它没有使用paperjs工具。

这花费了我更长的时间

var toolZoomIn = new paper.Tool();
toolZoomIn.onMouseDrag = function (event) {
    var a = event.downPoint.subtract(event.point);
    a = a.add(paper.view.center);
    paper.view.center = a;
}

您可以进一步简化Sam p的方法:

var toolPan = new paper.Tool();
toolPan.onMouseDrag = function (event) {
    var offset = event.downPoint - event.point;
    paper.view.center = paper.view.center + offset;
};
事件对象已经有一个起点为的变量


我已经编写了一个快速的测试程序。

不确定在撰写本文时是否发布了该程序,但使用.onMouseDrag,您现在可以执行event.delta以获取鼠标按下和鼠标移动之间的坐标差up@ScottAnderson好主意-但是在快速测试和阅读之后,我发现它不一样:
event.delta=event.point-event.lastPoint
因此它是上次触发事件时的增量。在测试中,结果真的不一样: