KineticJS - 使用Drag& amp;绘图形状下降

时间:2013-10-14 06:30:45

标签: kineticjs

我见过使用Drag& amp;绘制形状的解决方案通过在图层或舞台上捕捉拖放事件来实现丢弃(线条,线条等),但我想知道是否可以使用新形状本身的DD事件来执行此操作。

由于我处理了许多形状,因此在这种情况下,如果形状本身处理它们的DD事件,它将使代码更加清晰和OO。

因此,当舞台/图层接收一个dragstart时,将在该点创建一个新形状(即线条),然后所有进一步的绘制将不是由舞台/图层dragmove / dragend处理,而是由NEW形状的dragmove /处理dragend。

我尝试用fire('dragstart')来做这个,但它只运行了shape的dragstart事件的代码..它实际上并没有将形状置于拖动模式,也就是说,它不会触发任何dragmove事件拖动时的形状(这是一个错误吗?)

任何帮助? 谢谢!

1 个答案:

答案 0 :(得分:1)

不可能...... 任何形状的鼠标事件仅在鼠标悬停在该形状上时才会响应。

由于线的下一段尚不存在,因此您无法在不存在的下一段上拖动/移动/单击鼠标。

或者,您可以轻松高效地创建这样的全新折线:

  • 是的......听听舞台上的鼠标事件。
  • 在mousedown中,创建一个新的Kinetic.Line,其中1点= mousedown位置。
  • 在mousemove中,将所有mousemove位置添加到线点阵列(即时构建折线)
  • 在mouseup中,该行已完成。