是否可以检测到画布元素中不同部分的点击?

| 假设在canvas元素中,我在画布上有一个圆和一个矩形,并且我想同时单击两者来做不同的事情。是否可以区分这两次点击?     
已邀请:
        另一种方法是通过放置阴影(即未显示)画布。在此画布中,您将用各种颜色从真实画布中绘制形状的蒙版。 然后,您可以检查阴影画布中的像素颜色,并可以计算出在“真实”对象中单击了哪个对象。     
        传递给onClick回调的事件包含设置为单击位置的pageX和pageY成员。在此博客文章中查看更多信息。     
        是的,但是我认为没有任何现有功能可以这样做。基本上,您需要跟踪绘制的形状(通常通过跟踪其顶点坐标),并将click事件附加到您要讨论的画布上。触发click事件后,请找到鼠标相对于画布左上角的x和y坐标,然后遍历形状数组并检查相交处。它的实现与光线跟踪类似,但是更容易实现,因为您仅在谈论2维。 检查本文以获取多边形计算信息中的点:http://en.wikipedia.org/wiki/Point_in_polygon     
        如果您正在寻找入门方法,我已经制作了有关使对象在Canvas上可选的教程。     

要回复问题请先登录注册