我创建了画布指针错误。它显示目标到所需位置(鼠标位置):
http://jsfiddle.net/conmute/rk276q3g/
问题出在 Firefox 渲染中,(移动鼠标非常快):
http://jsfiddle.net/conmute/rk276q3g/1/
矩形行为怪异,我错过了。谁能指出具体是什么?
ctx.rect(
// start x,y pair
patternOffset.x, -p.circle.h/2 - patternOffset.y - 12,
// end x,y pair
-p.repeat.w, distance - p.circle.h - 1
);
ctx.fillStyle = pattern;
ctx.fill();
状态更新
我解决了这个问题:http: //jsfiddle.net/rk276q3g/2/
通过注释掉 ctx.save() 和 .restore() 并在绘制矩形之前放置箭头图像。
所以实际上我解决了这个问题,但问题是......
问题更新
...如果我在做了一些 ctx.translate(... 和一些图纸之后需要画画怎么办?
我需要使用 ctx.save() 和 .restore() 方法,但这会导致问题。我如何在不评论的情况下完成这项工作?因为当我删除它们时,它解决了问题。
我以为我正确理解了它们的工作原理,但我发现我没有。
更新
似乎通过删除所有ctx.restore()
并解决了解决方案,但是当我通过计算先前的位置ctx.save()
添加我要绘制的部分后,问题再次出现!translate
请参阅:http: //jsfiddle.net/rk276q3g/5/