4
我對以下演示有疑問 - http://raphaeljs.com/hand.html。RaphaelJS - 我需要幫助瞭解變換
下面是示例代碼...
var r = Raphael("holder", 640, 480), angle = 0;
while (angle < 360) {
var color = Raphael.getColor();
(function(t, c) {
r.circle(320, 450, 20).attr({
stroke : c,
fill : c,
transform : t,
"fill-opacity" : .4
}).click(function() {
s.animate({
transform : t,
stroke : c
}, 2000, "bounce");
}).mouseover(function() {
this.animate({
"fill-opacity" : .75
}, 500);
}).mouseout(function() {
this.animate({
"fill-opacity" : .4
}, 500);
});
})("r" + angle + " 320 240", color);
angle += 30;
}
Raphael.getColor.reset();
var s = r.set();
s.push(r.path("M320,240c-50,100,50,110,0,190").attr({
fill : "none",
"stroke-width" : 2
}));
s.push(r.circle(320, 450, 20).attr({
fill : "none",
"stroke-width" : 2
}));
s.push(r.circle(320, 240, 5).attr({
fill : "none",
"stroke-width" : 10
}));
s.attr({
stroke : Raphael.getColor()
});
我是對下面的代碼行的問題...
("r" + angle + " 320 240", color);
在匿名函數圓最初繪製在半徑爲20的320,450處。然後例如在角度爲30時應用變換(「r30 320 240」)。
該變換如何工作?我讀這個變換的方式是將圓圈旋轉30度到320,450,然後水平移動320(向右)和240垂直向下移動。
但我顯然讀這個轉換錯了,因爲這不是發生了什麼事情。
我在想什麼?
由於
非常好,謝謝馬特,這很有道理。我很感謝你的榜樣,它幫助你清除了一切。 在特定點畫圓,然後圍繞另一點旋轉。再次感謝!我會盡力投票,但不知道我有沒有足夠的聲望。 – RDotLee 2012-04-02 00:39:10