点击检测画布JS

时间:2012-09-27 09:57:12

标签: javascript algorithm data-structures canvas

我想检测使用路径绘制的画布元素的点击次数。到目前为止,我已经想到在javascript数据结构中存储元素路径,然后检查匹配元素坐标的命中的坐标。我相信有一种算法已经可以用于搜索。当元素数量较大时,渲染每个元素路径并检查命中将是低效的。有人能指出我吗?

2 个答案:

答案 0 :(得分:1)

JavaScript canvas上下文有一个isPointInPath方法。

http://www.w3schools.com/html5/canvas_ispointinpath.asp

如果您想实现自己的Point In Polygon算法,请查看Wikipedia页面

http://en.wikipedia.org/wiki/Point_in_polygon#Point_in_polygon_queries

答案 1 :(得分:0)

退出一些j =正在执行的库,例如:

paper.js http://paperjs.org/

fabric.js http://fabricjs.com/

kenetic.js http://kineticjs.com/

我建议您检查代码库或构建在这些代码库之上。