[英]How to animate SVG group as a whole?
我正在使用Snap.svg制作动画。 我目前要绘制两个元素(一个圆和一个椭圆)。 元素将一起平移,椭圆也会旋转并改变形状。 我可以在Snap.svg中使用Element.animate()
函数为每个元素设置动画,但是要使它们和谐地变换是非常棘手的。 那么我如何为整个元素设置动画? html片段放在https://gist.github.com/dongli/8124267上 。
PS: centroid
的属性cx
和cy
在每个动画帧之后都不会更新。 我希望他们会被改变。
谢谢你的帮助!
Snap提供了一个分组功能(也是一个集合,但是分组是一个适当的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上弹出代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.