Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript kineticjs在与其他形状重叠时停止拖动到形状_Javascript_Html_Kineticjs - Fatal编程技术网

Javascript kineticjs在与其他形状重叠时停止拖动到形状

Javascript kineticjs在与其他形状重叠时停止拖动到形状,javascript,html,kineticjs,Javascript,Html,Kineticjs,我有两种形状,而不是一组可以拖动的形状 拖动蓝色组时,不应与黄色组重叠 小提琴在这儿 我试着做了一些getcrosss,但我在kinetic.js中真的是个笨蛋。你可能认为getcrosss()会让你得到碰撞的对象,我也这么认为,但事实并非如此。它只提供容器的相交子对象(不是所有对象) 您可以在矩形和/或组上运行碰撞检测逻辑。 下面的链接是如何检测矩形上的碰撞。当拖动矩形时,可以将其应用到代码中 下面是我如何使用KineticJS检测两个矩形上的碰撞的函数 var isRectCollide

我有两种形状,而不是一组可以拖动的形状

拖动蓝色组时,不应与黄色组重叠

小提琴在这儿


我试着做了一些
getcrosss
,但我在kinetic.js中真的是个笨蛋。

你可能认为getcrosss()会让你得到碰撞的对象,我也这么认为,但事实并非如此。它只提供容器的相交子对象(不是所有对象)

您可以在矩形和/或组上运行碰撞检测逻辑。 下面的链接是如何检测矩形上的碰撞。当拖动矩形时,可以将其应用到代码中

下面是我如何使用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;
}
var isrectclide=函数(rect1,rect2){
如果(rect1.x-rect1.width>=rect2.x+rect2.width&&
rect1.y-rect1.height>=rect2.y+rect2.height&&

rect1.x+rect1.width我还是拿不到,你能拨弄一下吗。