我是Raphael的新手,我试图让两个圆圈在与画布中心相关的圆形轨道上移动。
这里我做了省略号来说明这种情况。黑点是画布的中心。
我使用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));
});
答案 0 :(得分:0)
解决:将旋转中心指定为“r360,320,240”:
var anim = Raphael.animation({"transform":"r360,320,240"},2000);
不推荐使用rotate(),但解释了承认的参数:
http://raphaeljs.com/reference.html#Element.rotate
此处的示例已在jsfiddle.net上更正