Разбор кода отрисовки на canvas

У меня есть следующий код:
var clicks = 0;
var lastClick = [0, 0];
document.getElementById('canvas').addEventListener('click', drawLine, false);
function getCursorPosition(e){
var x;
var y;

if(e.pageX != undefined && e.pageY != undefined){
x = e.pageX;
y = e.pageY;
}
//вот объясните мне это место зачем оно 
else{
x = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
y = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;
}
return [x, y];
//дальше я сам 
}
function drawLine(e){
ctx = this.getContext('2d');

x = getCursorPosition(e)[0] - this.offsetLeft;
y = getCursorPosition(e)[1] - this.offsetTop;
if(clicks != 1){
clicks++;
}
else{
ctx.beginPath();
ctx.moveTo(lastClick[0], lastClick[1]);
ctx.lineTo(x, y, 6);
ctx.strokeStyle = '#000';
ctx.stroke();
clicks = 0;
}
lastClick = [x, y];
};

Помогите пожалуйста. очень надо
  • Вопрос задан
  • 2485 просмотров
Решения вопроса 1
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Это место для того, чтобы получить координаты относительно канваса, а не всего документа, с учетом скролла.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы