我对Raphael.js有问题。我想以相对的方式旋转“compassScale” - 设置在下面的代码中。动画中的相对旋转
这适用于路径,但所有文本“动画”到30度的绝对旋转。我希望他们旋转到相对于他们实际位置的30度。
var compassScale = paper.set();
var centerX = 200;
var centerY = 200;
var radius = 195;
var compasCircle = paper.circle(centerX, centerY, radius);
for(var i = 0; i < 360; i++) {
var winkelRad = i * (Math.PI/180)
var xStart = centerX + Math.sin(winkelRad) * radius;
var yStart = centerY + Math.cos(winkelRad) * radius;
var diff = 6;
if(i % 10 === 0){
compassScale.push(paper.text(centerX, centerY - radius + 18, i).rotate(i, centerX, centerY, true));
diff = 12;
} else if(i % 5 === 0) {
diff = 8;
}
var xEnd = centerX + Math.sin(winkelRad) * (radius - diff);
var yEnd = centerY + Math.cos(winkelRad) * (radius - diff);
compassScale.push(paper.path("M" + xStart + " " + yStart + " L" + xEnd + " " + yEnd));
}
compassScale.animate({rotation:"30 " + centerX + " " + centerY}, 5000);
感谢。我在inkskape中创建了一个png(形成上面的代码)并在raphael中旋转了图像。这在移动设备上也表现更好。 – speznaz 2011-05-12 05:19:04