我有两个形状而不是可拖动的组。
拖动蓝色组时,它不应与黄色组重叠。
这是小提琴http://jsfiddle.net/bittu4u4ever/3Kprr/
我试着做一些getIntersections
,但我真的是 kinetic.js 的菜鸟。
我有两个形状而不是可拖动的组。
拖动蓝色组时,它不应与黄色组重叠。
这是小提琴http://jsfiddle.net/bittu4u4ever/3Kprr/
我试着做一些getIntersections
,但我真的是 kinetic.js 的菜鸟。
你可能认为 getIntersections() 会得到碰撞对象,我也这么认为,但事实并非如此。它只给出容器的相交 CHILDREN(不是所有)对象。
您可以在矩形和/或组上运行碰撞检测逻辑。以下链接是如何检测矩形碰撞。您可以在拖动矩形时将其应用到您的代码中。
这是我如何使用 KineticJS 检测两个矩形上的碰撞的功能。
var isRectCollide = function(rect1, rect2) {
if (rect1.x - rect1.width >= rect2.x + rect2.width &&
rect1.y - rect1.height >= rect2.y + rect2.height &&
rect1.x + rect1.width <= rect2.x + rect2.width &&
rect1.x + rect1.height <= rect2.y - rect2.height )
return false;
else
return true;
}
您可能已经知道这一点,但以防万一;
希望能帮助到你