Javascript KineticJS中可拖动阶段上的可拖动形状

Javascript KineticJS中可拖动阶段上的可拖动形状,javascript,html,canvas,kineticjs,Javascript,Html,Canvas,Kineticjs,从教程开始,我正在检查KineticJS的拖动功能。形状、线条、层次甚至舞台本身都可以拖拉: 要使用KineticJS拖放整个stage(pan),我们可以在实例化stage时将config对象的draggable属性设置为true,或者使用setDraggable()方法。与其他节点(如形状、组和层)的拖放不同,我们可以通过拖动阶段的任何部分来拖动整个阶段 最后一行,“与其他节点的拖放不同……我们可以通过拖动舞台的任何部分来拖动整个舞台”,我发现这句话模棱两可。我不知道它是指整个舞台上的任何地

从教程开始,我正在检查KineticJS的拖动功能。形状、线条、层次甚至舞台本身都可以拖拉:

要使用KineticJS拖放整个stage(pan),我们可以在实例化stage时将config对象的draggable属性设置为true,或者使用setDraggable()方法。与其他节点(如形状、组和层)的拖放不同,我们可以通过拖动阶段的任何部分来拖动整个阶段

最后一行,“与其他节点的拖放不同……我们可以通过拖动舞台的任何部分来拖动整个舞台”,我发现这句话模棱两可。我不知道它是指整个舞台上的任何地方,还是不被形状遮挡的任何地方


我已经建立了一个JSFIDLE示例,我想要的是当我拖动他们的圆圈时能够移动小维德/尤达,并且当我拖动他们圆圈之外的任何地方时能够移动整个舞台。这在KinectJS中可能吗?

您可以做的一件事是

第一行在你的“鼠标悬停触摸启动”方法为你的圆圈,停止拖动阶段

stage.setDraggable(false)

然后在你的“mouseout touchend”中,重置舞台的拖动

stage.setDraggable(真)


我没有太多地使用动能,所以我不太确定这些特性和方法的复杂性,可能还有更好的方法,但这应该会起作用。

谢谢,似乎已经做到了。如果我发现它有任何问题,我会在这里发表评论