0

我正在使用 Snap.svg 制作动画。我目前有两个元素(一个圆和一个椭圆)要绘制。元素将一起平移,椭圆也会旋转和改变形状。我可以使用Element.animate()Snap.svg 中的函数为每个元素设置动画,但要让它们和谐地变换是非常棘手的。那么如何将元素作为一个整体进行动画处理呢?html 片段放在https://gist.github.com/dongli/8124267上。

PS:每个动画帧后的属性和属性不会更新cx。我希望他们会改变。cycentroid

谢谢你的帮助!

4

1 回答 1

3

Snap 提供了一个 group 功能(也是一个集合,但 group 是一个适当的 svg 元素,所以我认为通常是首选)。所以你有一个组元素并且执行一次传输可以做这样的事情......

var s = Snap(400,400);

var r = s.rect(100,100,100,100,20,20).attr({ stroke: '#123456', 'strokeWidth': 20, fill: 'red'});
var c = s.circle(50,50,50).attr({ stroke: '#123456', 'strokeWidth': 20, fill: 'blue',  });

var g = s.group(r,c);

g.animate({ transform: 'r360,150,150' }, 1000, mina.bounce );

在这里工作 jsfiddle。http://jsfiddle.net/n8Een/2/。如果您仍然遇到问题,请在 jsfiddle 上弹出您的代码。

于 2013-12-27T09:43:28.110 回答