Я пытаюсь перетащить изображение вокруг элемента canvas
.Хотя у меня была работа с перетаскиванием, она не работает, как мне бы хотелось.
По сути, изображение всегда больше, чем элемент canvas, но левая сторона изображения в пределах canvas не можетдальше вправо, чем на левой стороне холста, так же правой стороне не разрешается идти «правее», чем на правой стороне холста.По сути, изображение ограничено, чтобы не показывать пробел пространство холста.
Проблема с перетаскиванием состоит в том, что всякий раз, когда я начинаю перетаскивать изображение, «всплывает» обратно, чтобы вести себя как 00 от местоположения мыши, тогда как я на самом деле хочу переместить изображение из текущей позиции.
document.onmousemove = function(e) {
if(mouseIsDown) {
var mouseCoords = getMouseCoords(e);
offset_x += ((mouseCoords.x - canvas.offsetLeft) - myNewX);
offset_y += ((mouseCoords.y - canvas.offsetTop) - myNewY);
draw(offset_x, offset_y);
// offset_x = ((mouseCoords.x - canvas.offsetLeft) - myNewX);
// offset_y = ((mouseCoords.y - canvas.offsetTop) - myNewY);
// offset_x = (mouseCoords.x - canvas.offsetLeft) - myNewX;
// offset_y = (mouseCoords.y - canvas.offsetTop) - myNewY;
offset_x = prevX;
offset_y = prevY;
}
/*if(mouseIsDown) {
var mouseCoords = getMouseCoords(e);
var tX = (mouseCoords.x - canvas.offsetLeft);
var tY = (mouseCoords.y - canvas.offsetTop);
var deltaX = tX - prevX;
var deltaY = tY - prevY;
x += deltaX;
y += deltaY;
prevX = x;
prevY = y;
draw(x, y);
}*/
};
Это то, что у меня есть сейчас, где я как бы получаю эффект параллелизма.