我有一条笔画宽度为 2 的可拖动线,并且希望用户即使在周围区域附近单击并拖动也能够拖动该线。根据我的理解,这样做的方法是为该行定义一个自定义 drawHitFunc。我在这里修改了教程中的代码:http: //www.html5canvastutorials.com/kineticjs/html5-canvas-kineticjs-custom-hit-function-tutorial/为该行定义我的自定义 drawHitFunc。
我的自定义绘制命中函数很简单——相同的线条但更粗(25 像素宽)。但是,这似乎不起作用。只有当我小心地将鼠标指针放在线上然后拖动时,拖动才有效。根据下面定义的 drawHitFunc,即使我在该线附近单击并拖动它也应该可以工作。我究竟做错了什么?
这是 drawHitFunc 片段:
function(canvas) { var context = canvas.getContext(); context.beginPath(); context.lineWidth = 25; context.moveTo(this.getPoints()[0].x, this.getPoints()[0].y); context.lineTo(this.getPoints()[1].x, this.getPoints()[1].y); context.closePath(); canvas.fillStroke(this); }
完整的失败示例位于:http: //jsfiddle.net/BwF6K/
任何指出我错过了什么的帮助表示赞赏。
谢谢。