【发布时间】:2014-07-25 17:37:08
【问题描述】:
我正在使用 KineticJS,并将一些形状添加到两组中。 我可以在组中拖动和移动形状,之后必须在另一个组中移动形状。
当我将形状从一组移动到另一组时,我失去了形状的位置,它们会回到原来的位置,与我在另一组中移动之前的位置相同。
可能必须同步两个组中的形状位置,KineticJS 是否为此提供任何功能?
【问题讨论】:
标签: javascript canvas kineticjs
我正在使用 KineticJS,并将一些形状添加到两组中。 我可以在组中拖动和移动形状,之后必须在另一个组中移动形状。
当我将形状从一组移动到另一组时,我失去了形状的位置,它们会回到原来的位置,与我在另一组中移动之前的位置相同。
可能必须同步两个组中的形状位置,KineticJS 是否为此提供任何功能?
【问题讨论】:
标签: javascript canvas kineticjs
你的直觉是正确的。
当一个形状从一个组移动到另一个组时,x,y 坐标不变。这会导致形状相对于其新组“跳跃”。
因此,如果您将形状移动到新组:
circle1.moveTo(group2);
然后你必须将形状的 x,y 调整为相对于新组:
circle1.x(circle1.x()-group2.x()+group1.x());
circle1.y(circle1.y()-group2.y()+group1.y());
【讨论】: