在Raphael中将对象作为一组旋转

时间:2013-12-14 04:19:29

标签: javascript canvas raphael

我是Raphael的新手,我试图让两个圆圈在与画布中心相关的圆形轨道上移动。

这里我做了省略号来说明这种情况。黑点是画布的中心。

http://jsfiddle.net/QCSb9/

我使用set()对圆圈进行分组,但是当试图旋转它们时,它们会单独使用自己的中心旋转,我认为将圆圈分组后,组的新几何体会发生变化,成为黑色点的中心基。

如何将这些圆圈作为一个对象连续旋转。

以下是我使用的代码:

$().ready(function(){

                var paper = Raphael("canvas", 640, 480);
                paper.rect(0, 0, 640, 480, 10).attr({fill: "#fff", stroke: "none"});  
                paper.circle(320, 240,  1).attr({"fill":"#000000","stroke-width":0});                

                var circles = paper.set();
                circles.push(
                    paper.ellipse(200, 240, 30, 25),
                    paper.ellipse(440, 240, 30, 25)
                );

                circles.attr({"fill":"#e00000","stroke-width":0});

                var anim = Raphael.animation({"transform":"r360"},2000);
                circles.animate(anim.repeat(Infinity));
            });

1 个答案:

答案 0 :(得分:0)

解决:将旋转中心指定为“r360,320,240”

var anim = Raphael.animation({"transform":"r360,320,240"},2000);
不推荐使用

rotate(),但解释了承认的参数:

http://raphaeljs.com/reference.html#Element.rotate

此处的示例已在jsfiddle.net上更正

http://jsfiddle.net/SW3sP/1/