Я пытаюсь переместить элемент на холсте, перетаскивая объект. Я использую paperjs
. Вот мой код:
Я рисую прямоугольник следующим образом:
var rect = new paper.Path.Rectangle(new paper.Point(100, 100), new paper.Point(200, 250));
rect.strokeColor = 'black';
rect.fillColor = 'red';
rect.strokeWidth = 5;
Чтобы переместить прямоугольник, я создаю Tool
и присоединяю к нему события.
onSelectShape(){
const self = this;
const hitOptions = {
segments: true,
stroke: true,
fill: true,
tolerance: 5
};
const toolSelect = new paper.Tool();
toolSelect.activate();
let segment, path;
toolSelect.onMouseDown = function(event) {
const hitResult = self.project.hitTest(event.point, hitOptions);
console.log(hitResult);
if (!hitResult){
return;
}
if (hitResult) {
path = hitResult.item;
}
};
toolSelect.onMouseMove = function(event) {
self.project.activeLayer.selected = false;
if(event.item){
event.item.selected = true;
}
};
toolSelect.onMouseDrag = function(event) {
if (path) {
path.position += event.delta;
}
};
}
Вот полная ссылка Stackblitz . Я не уверен, почему это не работает. Любая помощь будет высоко ценится