Javascript 是否可以检测画布元素中不同部分上的单击?
假设在画布元素中,我在画布上有一个圆形和一个矩形,我想使用单击这两个元素来完成不同的工作。是否可以区分这两次单击?传递给onClick回调的事件包含设置为单击位置的pageX和pageY成员 传递给onClick回调的事件包含设置为单击位置的pageX和pageY成员 是的,但我认为没有任何现有的功能可以这样做。基本上,您希望跟踪所绘制的形状(通常通过跟踪它们的顶点坐标),并将单击事件附加到您正在讨论的画布上。触发单击事件后,找到鼠标相对于画布左上角的x和y坐标,然后遍历形状数组并检查交点。这种方法的实现类似于光线跟踪,但更容易实现,因为您只讨论二维Javascript 是否可以检测画布元素中不同部分上的单击?,javascript,html,canvas,Javascript,Html,Canvas,假设在画布元素中,我在画布上有一个圆形和一个矩形,我想使用单击这两个元素来完成不同的工作。是否可以区分这两次单击?传递给onClick回调的事件包含设置为单击位置的pageX和pageY成员 传递给onClick回调的事件包含设置为单击位置的pageX和pageY成员 是的,但我认为没有任何现有的功能可以这样做。基本上,您希望跟踪所绘制的形状(通常通过跟踪它们的顶点坐标),并将单击事件附加到您正在讨论的画布上。触发单击事件后,找到鼠标相对于画布左上角的x和y坐标,然后遍历形状数组并检查交点。这种
查看本文以了解多边形中的点计算信息:是的,但我认为没有任何现有功能可以这样做。基本上,您希望跟踪所绘制的形状(通常通过跟踪它们的顶点坐标),并将单击事件附加到您正在讨论的画布上。触发单击事件后,找到鼠标相对于画布左上角的x和y坐标,然后遍历形状数组并检查交点。这种方法的实现类似于光线跟踪,但更容易实现,因为您只讨论二维
查看本文了解多边形中的点计算信息:另一种方法是使用阴影(即不显示)画布。在这个画布上,你可以用各种颜色从真实的画布上画出各种形状的面具
然后检查阴影画布中的像素颜色,可以确定在“真实”画布中单击了哪个对象。另一种方法是使用阴影(即未显示)画布。在这个画布上,你可以用各种颜色从真实的画布上画出各种形状的面具 然后,您可以检查阴影画布中的像素颜色,并确定在“真实”画布中单击了哪个对象。如果您想了解如何开始,我已经做了关于在画布上选择对象的说明。如果您想了解如何开始,我已经做了关于在画布上选择对象的说明