2011-05-31 67 views
0

我正在使用raphael來做一些SVG動畫,並且似乎無法獲取animateAlong的函數來工作。我繼續收到未壓縮raphael代碼的第3450行的「attrs [0]未定義」的錯誤。raphael問題 - 使用animateAlong

基本上,我創建了一個給定中心的圓,然後想要圍繞該路徑製作動畫。下面是簡單的代碼:

var circle = paper.circle(circleCenterX, circleCenterY, circleRadius); 

我然後克隆的圖像(因爲我打算有此路徑上的數目的這些),併發生在該圓的邊緣:

var wheelClone = wheel.clone(); 
var wheelRadius = parseInt(wheel8ImageWidth/2); 
wheelClone 
.translate((circleCenterX + circleRadius)-3, circleCenterY-wheelRadius); 

其中I以前用circleCenterX = circle.attr(cx)初始化circleCenterX;

這一切都正常工作與圖像放置正確 - 但它的錯誤animateAlong。

我已經研究了儘可能多的例子,我可以找到並解剖文檔,但不能在這裏掛。

所以,我只是試着調用這個函數,但沒有理解文檔所指的是什麼。該文檔在一個路徑周圍繪製了一個圓點,但是引用了兩個變量 - rx和ry,我不能在這裏指出 - 既在init函數中,又在回調函數中。

這就是我所擁有的 - rx和ry的組合,因爲我不知道它們指的是什麼。

var wheelAttr = { 
    rx: 5, 
    ry: 3 
}; 

wheelClone.attr(wheelAttr).animateAlong(circle, 2000, true, function() { 
    wheel.attr({rx: 4, ry: 4}); 
}); 

我現在的jsfiddle當時是有點亂的,我可以清理,但我懷疑,有一些顯而易見的事情嗎?

感謝所有

小號

回答

0

我不認爲一個圈實際上是一個有效的路徑(即,有些東西你可以傳遞給animateAlong())。我認爲你需要創建一個循環路徑。請參閱以下內容:

svg-animation-along-path-with-raphael

希望,它將幫助。