Элемент Konva вне области просмотра - PullRequest
0 голосов
/ 24 октября 2019

Мне нужно переместить окно просмотра, если пользователь перетаскивает элемент за его пределы. offsetX и offsetY здесь не помогают. Как это решить? Я пытаюсь сделать это разными способами, но у меня нет рабочих примеров.

Простой пример: когда я перетаскиваю красный прямоугольник из вида (например, в верхний левый угол), я хочу, чтобы мой вид перемещался вместе с ним.

codepen.io/dimabytes/pen/WNNORyZ

1 Ответ

1 голос
/ 28 октября 2019

Вы должны переместить координаты своего слоя, когда указатель выходит за пределы экрана. Предположим, что у вас есть слой внутри большей ступени.

Чтобы узнать, как лучше управлять координатами вашего слоя, это несколько полезно: 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
});

С этими обоими направлениями вы сможете найти решение своей проблемы.

...