一个Canvas上覆盖了多个Polygon,我在Canvas上用鼠标拖动一个小球,如何判断这个小球在拖动的过程中进入不同的Polygon。
PS:小球和Polygon都是Canvas的子对象
如果不是很严格的判断:当鼠标拖动过程中,鼠标进入区域是才算进入。
则可以反转过来,只要判断鼠标是不是进入区域[每个区域的鼠标事件],同时鼠标是不是处理拖动状态,就可实现了。
如果很严格要用到多边型边界碰到才算进入,那个算法应该是相当的麻烦;
那就稍为不严格一点好了,将取多边型的四个角的点,型成一个大的矩型,这样判断矩形就好判断了,然后再修补下误差。
可以计算polygon覆盖区域,再与鼠标坐标进行比较
如果没有更好的办法,不妨这么做
我来个笨一点的。 先确定小球是从哪个方向来的,再判断圆心到polygon中心的距离。