我在Kineticjs中有一个层,我有更多的形状,参见附图: 我们可以将图层的内容分为两部分: 1.对象(矩形) 2.我们可以从中缩放对象的选择节点(4个角)和可以从
旋转对象的旋转符号我在图层拖动上有事件处理程序(因为我需要在同一时间移动所有元素)并且我在缩放节点和旋转符号上也有事件处理程序。问题是当触发节点和旋转符号的拖动(结束,开始,移动)时,也会自动触发图层拖动事件。
我尝试设置layer.setListening(false)
然后再回到true
,但没有结果。
如何在拖动缩放节点和旋转符号时使图层的事件不是触发器?
[编辑] 这是一个UML图,用于查看我的图层的结构。每个图层都直接添加到舞台:
答案 0 :(得分:0)
你可以将所有元素(rects等)放在一个Kinetic.Group中,将你的缩放+旋转锚定放在第二个Kinetic.Group中。
通过移动他们的小组,你可以同时移动所有的行动。
如果要拖动缩放/旋转锚点,可以在rects图层上设置侦听false。
当使用setX / setY移动缩放/旋转锚点时,仍可以移动rects。