拖动drawLine画布优化坐标

时间:2014-05-06 18:31:56

标签: jcanvas

考虑this basic case,人们可能希望更新图层的坐标......但他们不会。

相反,有可能记住起点,计算鼠标偏移然后更新坐标,就像在this test中一样,但......效果非常极端。 预期:点x1,y1是静态的 结果:点x1,y1移动得非常快

如果将坐标设置为常量,则拖动保持不变。 这里的主要问题是拖动动作适用于整个图层。

修复:在拖动结束时应用修改,例如in this snippet。 但它相对难看。

有更好的方法
  • 开始运行行的点的实际坐标
  • 设法在其他人移动时保持线路静止

期待您的建议,

1 个答案:

答案 0 :(得分:1)

为了保持拖动图层的效率,jCanvas仅偏移任何可拖动图层(包括路径)的xy属性。因此,在拖动时,您可以使用以下行中的某些内容计算任何路径坐标集的绝对位置:

var absX1 = layer.x + layer.x1;
var absY1 = layer.y + layer.y1;

(假设layer引用jCanvas层,当然)