KineticJS在保持位置的组之间移动形状

时间:2014-07-25 17:37:09

标签: javascript canvas kineticjs

我正在使用KineticJS,我将一些形状添加到两组中。 我可以在组中拖动和移动形状,然后在另一组中移动形状。

当我将形状从一个组移动到另一个组时,我失去了形状的位置,它们返回到原始位置,与我在另一组中移动之前的位置相同。

可能需要同步两组中的形状位置,KineticJS是否为此提供了任何功能?

1 个答案:

答案 0 :(得分:0)

你的直觉是正确的。

当形状从一个组移动到另一个组时,x,y坐标不变。这导致形状跳跃"跳跃"相对于其新组。

因此,如果您将形状移动到新组:

circle1.moveTo(group2);

然后你必须调整形状的x,y相对于新组:

circle1.x(circle1.x()-group2.x()+group1.x());
circle1.y(circle1.y()-group2.y()+group1.y());

演示:http://jsfiddle.net/m1erickson/e4vcM/