У меня есть функция прокрутки для моего холста, которая определяет расстояние, перемещаемое мышью, и смещает все мои изображения на холсте.Функция прокрутки экспоненциально перемещается
Проблема в том, я едва переместить мышь и смещение число экспоненциально возрастает, и им не уверен, почему ... это моя функция, которая имеет дело с расчетом смещения:
canvas.addEventListener('mousedown', scrol_cnv, false);
function scroll_cnv(e) {
if (e.button == 2) {//right click only
var x = e.pageX; // get click X
var y = e.pageY; //get click Y
function clear() {
this.removeEventListener('mousemove', updt, false);
}
function updt(evt) {
var difx = evt.pageX - x;
var dify = evt.pageY - y;
//this is where offset is becoming incorrect
//offsets is globally defined `window.offsets = {}`
offsets.cur_offsetx -= difx;
offsets.cur_offsety -= dify;
}
this.addEventListener('mousemove', updt, false);
this.addEventListener('mouseup', clear, false);
}
}
Am я вычитая смещение неправильно?
Я не думаю, что вы хотите использовать '- ='. 'cur_offset' должен быть просто текущей разницей, поэтому просто установите' cur_offset (x | y) = dif (x | y) '. –
Вы были верны :) – Sir