视口外的Konva元素

时间:2019-10-24 10:29:41

标签: javascript canvas konvajs

如果用户将视口拖动到视口之外,则需要移动视口。 offsetX和offsetY在这里没有帮助。如何解决呢? 我尝试通过多种方式来做到这一点,但没有任何可行的示例。

简单的示例:当我从视图中拖动红色矩形(例如,拖到左上角)时,我希望视图随之移动。

codepen.io/dimabytes/pen/WNNORyZ

1 个答案:

答案 0 :(得分:1)

当指针移出屏幕时,您必须移动图层坐标。假设您在更大的阶段中有一个层。

要了解如何更好地操纵图层坐标,这会很有用:https://konvajs.org/docs/sandbox/Canvas_Scrolling.html

要获取指针位置,您需要类似以下内容:

node.on('onDragMove', (e) => {
   stageRef.getPointerPosition().x // That's your x position
   stageRef.getPointerPosition().y // That's your y position
});

通过这两个方向,您应该能够找到解决问题的方法。