我只是想將一個加載的SVG移動一圈。 這是我走到這一步,這個想法是:「離開它是對象,爲30的半徑將其旋轉了一圈」:snap.svg將對象移動到一個圓圈中
var svgObject = Snap("svg#object g");
var path = svgObject.path("M0 0 a60 60 0 0 0 30 30");
var pathLength = path.getTotalLength();
Snap.animate(0, pathLength, function(value) {
movePoint = path.getPointAtLength(value);
svgObject.transform('t' + parseInt(movePoint.x) + ',' + parseInt(movePoint.y));
}, 5000, mina.easeOut);
我知道上面的代碼必須是比較幼稚,但這是我從互聯網上的各種來源收集的。
以上所有代碼都是將對象移動到右側。我希望它做一個完整的圈子(完全從它開始的地方結束)。
我必須改變以使上述代碼如上所述工作?
它不清楚你實際上遇到什麼問題。代碼最初看起來是合理的,可以沿着路徑移動(但不完整),但是當它與任何對象一起運行時會發生什麼?您可能會在使用逗號進行parseInt時出錯,您可能還需要爲每個movePoint值分配一個parseInt。 – Ian
@ Ian我修復了代碼(我沒有複製/粘貼它)。那裏實際上有2個parseInt。你說代碼不完整,缺少什麼? thx – Micha
您想要移動的對象缺失,路徑不是圓形。你也可以繞偏移中心做一個旋轉變換,這取決於你是否介意旋轉對象本身或者它總是想直立。我會把它放在一個jsfiddle,所以我們可以看到發生了什麼和任何錯誤。 – Ian