0

离开教程,我正在检查 KineticJS 的拖动功能。它指出形状、线条、图层甚至舞台本身都可以拖动:

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

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

我在这里设置了一个 jsfiddle 示例,我想要的是能够在我拖动他们的圆圈时移动小 Vaders/yodas,并在我拖动他们圆圈之外的任何地方时移动整个舞台。KinectJS 有可能吗?

4

1 回答 1

2

你可以做的一件事是...

你的圈子的“mouseover touchstart”方法的第一行,停止拖动舞台......

stage.setDraggable(false);

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

stage.setDraggable(true);

我没有太多使用 Kinetic,所以我不太确定功能和方法的复杂性,可能有更好的方法,但这应该可行。

于 2012-10-10T03:58:10.140 回答