Konvajs 有没有办法更具体地控制konva对象的拖动事件?

Konvajs 有没有办法更具体地控制konva对象的拖动事件?,konvajs,konva,Konvajs,Konva,例如,通过设置stage.draggable(true) 我们可以让舞台拖拉 默认情况下,它是一个连续运动,这意味着每次鼠标在舞台上进行拖动时,都会调用拖动事件。这在我的应用程序中会导致滞后,可能是因为在每次拖动事件后需要重新绘制大量的形状 那么,有没有办法控制调用拖动事件的时间?或者我可以在每个拖动事件之间设置一个小的时间间隔吗?不,在Konva中,您无法控制调用拖动事件的时间 Konva正在更新位置,并在每个mousemove/touchmove事件上触发dragmove事件 但它不会立即绘

例如,通过设置
stage.draggable(true)
我们可以让舞台拖拉

默认情况下,它是一个连续运动,这意味着每次鼠标在舞台上进行拖动时,都会调用拖动事件。这在我的应用程序中会导致滞后,可能是因为在每次拖动事件后需要重新绘制大量的形状


那么,有没有办法控制调用拖动事件的时间?或者我可以在每个拖动事件之间设置一个小的时间间隔吗?

不,在
Konva
中,您无法控制调用拖动事件的时间

Konva
正在更新位置,并在每个
mousemove/touchmove
事件上触发
dragmove
事件

但它不会立即绘制。它会尽快绘制

如果希望完全控制拖动,可以手动实现。 类似于(1)收听
mousedown/touchtstart
事件,(2)在
mousemove/touchmove
上移动节点,以及(3)停止在
mouseup/touchtend上拖动

在最好的情况下,您需要找到优化图形的方法。通常,缓存可以大大提高绘图的性能。您可以在
dragstart
上缓存,并在
dragend
上清除缓存


有关更多性能提示,请查看此处:

这很有帮助。非常感谢。