在Canvas中检测形状坐标

Rus*_*ell 1 javascript html5 canvas

我正在我的HTML5 Canvas应用程序中编写拖放功能,我想知道如何检测我是否点击了一个矩形或正方形以外的形状,在这种情况下我会在我的'mousedown'事件中做这样的事情处理:

if(evt._x> 13 && evt._x <202 ....){}

我不知道如何使用这样的弧来轻松做类似的事情:

ctx.arc(25,25,20,0,(Math.PI/180)*360);

我希望很清楚,提前谢谢你.

Ang*_*erm 9

只需使用isPointInPath,它检查给定点是否在当前绘图路径中.如果你要在画布上绘制多个形状,那么一个好的技巧是将每个形状与"隐藏"画布相关联,将每条路径绘制到各自的画布,而不是针对每个形状测试isPointInPath,从而抵消目标/鼠标根据需要坐标.没有理由依靠自己的计算.