有没有一种简单的方法可以在kineticjs (或者rapheljs,如果在SVG中更容易的话)中检测多个重叠的形状。也就是说,如果我有两个部分重叠的圆,我想以某种方式检测这四种情况:
1)当超过任何形状2)当超过圆A 3)当超过圆B 4)当超过(重叠)圆A和B
但我需要一个可以扩展到"n“个圆/形状的通用实现。
干杯
发布于 2012-07-24 14:58:18
是的,只需使用getIntersections方法:
http://www.kineticjs.com/docs/symbols/Kinetic.Container.php#getIntersections
这将返回与给定点相交的所有KineticJS节点(例如鼠标位置)
干杯!
发布于 2012-07-20 11:00:20
为了解决这个问题,你显然是在处理碰撞检测。碰撞检测算法根据要检测的形状而有所不同。
因此,首先,您可以使用lineTo、arc等方法,并使用内置的isPointInPath进行检测,传入鼠标坐标。这是最简单的方法,特别是对于形状奇怪的多边形
if (ctx.isPointInPath(20,50))
{
// code
}https://stackoverflow.com/questions/11358762
复制相似问题