Javascript 画布绘制-为什么要单击拖动。当我们有x和y坐标时需要推(拖动)?
我在寻找画布绘图时遇到以下代码 1) 据我所知,不是。“clickDrag”正在添加第三个参数,但只给出了2个参数Javascript 画布绘制-为什么要单击拖动。当我们有x和y坐标时需要推(拖动)?,javascript,jquery,html5-canvas,Javascript,Jquery,Html5 Canvas,我在寻找画布绘图时遇到以下代码 1) 据我所知,不是。“clickDrag”正在添加第三个参数,但只给出了2个参数 // two params passed addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop); function addClick(x, y, dragging) { ... clickDrag.push(dragging); } 我猜addClick函数也在其他地方调用,使用这个参数 2)
// two params passed
addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop);
function addClick(x, y, dragging) {
...
clickDrag.push(dragging);
}
我猜addClick函数也在其他地方调用,使用这个参数
2) 我猜clickDrag正在存储用户是否正在拖动。因此,如果拖动,移动到下一个鼠标位置(clickX[i-1]在数组中引用鼠标单击位置,因此-1(数组从0开始))
如果不拖动,代码将从数组索引i的结果中显示-1。我不知道这个电话的上下文,所以我不能帮你,对不起
编辑-------------
所以我下载了源代码,但找不到您在第二个问题中引用的代码。不过,我发现:
context.beginPath();
if(clickDrag[i] && i){
context.moveTo(clickX[i-1], clickY[i-1]);
}else{
context.moveTo(clickX[i], clickY[i]);
}
context.lineTo(clickX[i], clickY[i]);
context.closePath();
有没有可能您不小心添加了-1?没有,这不是打字错误。你查过网站了吗。就在那里。代码片段大于网站中的演示大小
// two params passed
addClick(e.pageX - this.offsetLeft, e.pageY - this.offsetTop);
function addClick(x, y, dragging) {
...
clickDrag.push(dragging);
}
context.beginPath();
if(clickDrag[i] && i){
context.moveTo(clickX[i-1], clickY[i-1]);
}else{
context.moveTo(clickX[i], clickY[i]);
}
context.lineTo(clickX[i], clickY[i]);
context.closePath();