首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kineticjs重叠形状鼠标悬停检测

Kineticjs重叠形状鼠标悬停检测
EN

Stack Overflow用户
提问于 2012-07-06 16:39:56
回答 2查看 2.8K关注 0票数 2

有没有一种简单的方法可以在kineticjs (或者rapheljs,如果在SVG中更容易的话)中检测多个重叠的形状。也就是说,如果我有两个部分重叠的圆,我想以某种方式检测这四种情况:

1)当超过任何形状2)当超过圆A 3)当超过圆B 4)当超过(重叠)圆A和B

但我需要一个可以扩展到"n“个圆/形状的通用实现。

干杯

EN

回答 2

Stack Overflow用户

发布于 2012-07-24 14:58:18

是的,只需使用getIntersections方法:

http://www.kineticjs.com/docs/symbols/Kinetic.Container.php#getIntersections

这将返回与给定点相交的所有KineticJS节点(例如鼠标位置)

干杯!

票数 5
EN

Stack Overflow用户

发布于 2012-07-20 11:00:20

为了解决这个问题,你显然是在处理碰撞检测。碰撞检测算法根据要检测的形状而有所不同。

因此,首先,您可以使用lineTo、arc等方法,并使用内置的isPointInPath进行检测,传入鼠标坐标。这是最简单的方法,特别是对于形状奇怪的多边形

代码语言:javascript
复制
    if (ctx.isPointInPath(20,50))
    {
        // code
    }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11358762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档