2014-07-25 39 views
0

我正在使用KineticJS,并将一些形状添加到两组中。 我可以在组中移动和移动形状,并且必须在另一个组中移动形状之后。KineticJS在保持位置的组之间移动形状

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

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

回答

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/

+0

Perfetc!谢谢 – ErikIce