可移动的形状在KineticJS的可拖动舞台上

时间:2012-10-10 03:23:33

标签: javascript html canvas kineticjs

关闭教程我正在检查KineticJS的拖动功能。 It states形状,线条,层甚至舞台本身都可以拖延:

  

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

最后一行,"与其他节点的拖放不同......我们可以通过拖动舞台的任何部分来拖动整个舞台。我发现含糊不清。我无法判断它是否意味着整个舞台上的任何地方,或者任何形状都没有遮挡的地方。

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

1 个答案:

答案 0 :(得分:2)

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

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

stage.setDraggable(false);

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

stage.setDraggable(true);

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