Kineticjs lyaer drag和节点内层dragend冲突

时间:2014-02-06 12:58:13

标签: html5-canvas kineticjs

我在Kineticjs中有一个层,我有更多的形状,参见附图: layer 我们可以将图层的内容分为两部分: 1.对象(矩形) 2.我们可以从中缩放对象的选择节点(4个角)和可以从

旋转对象的旋转符号

我在图层拖动上有事件处理程序(因为我需要在同一时间移动所有元素)并且我在缩放节点和旋转符号上也有事件处理程序。问题是当触发节点和旋转符号的拖动(结束,开始,移动)时,也会自动触发图层拖动事件。

我尝试设置layer.setListening(false)然后再回到true,但没有结果。 如何在拖动缩放节点和旋转符号时使图层的事件不是触发器?

[编辑] 这是一个UML图,用于查看我的图层的结构。每个图层都直接添加到舞台: UML diagram of the layer

1 个答案:

答案 0 :(得分:0)

你可以将所有元素(rects等)放在一个Kinetic.Group中,将你的缩放+旋转锚定放在第二个Kinetic.Group中。

通过移动他们的小组,你可以同时移动所有的行动。

如果要拖动缩放/旋转锚点,可以在rects图层上设置侦听false。

当使用setX / setY移动缩放/旋转锚点时,仍可以移动rects。