Tôi có một vấn đề khá thú vị với hoạt ảnh SVG.Hoạt ảnh SVG dọc theo đường dẫn với Raphael
Tôi sinh động dọc theo một đường tròn bằng Raphael
obj = canvas.circle(x, y, size);
path = canvas.circlePath(x, y, radius);
path = canvas.path(path); //generate path from path value string
obj.animateAlong(path, rate, false);
Phương pháp circlePath là một trong Tôi đã tạo ra bản thân mình để tạo ra con đường vòng tròn trên con đường ký hiệu SVG:
Raphael.fn.circlePath = function(x , y, r) {
var s = "M" + x + "," + (y-r) + "A"+r+","+r+",0,1,1,"+(x-0.1)+","+(y-r)+" z";
return s;
}
Cho đến nay, vì vậy tốt - mọi thứ đều hoạt động. Tôi có đối tượng của tôi (obj) hoạt hình dọc theo con đường tròn.
NHƯNG:
Hình ảnh động chỉ hoạt động nếu tôi có thể tạo các đối tượng ở cùng X, Y coords như con đường riêng của mình.
Nếu tôi bắt đầu hoạt ảnh từ bất kỳ tọa độ nào khác (ví dụ, nửa đường dọc theo đường) đối tượng hoạt hình trong vòng tròn bán kính chính xác, tuy nhiên nó bắt đầu hoạt ảnh từ đối tượng X, Y tọa độ, chứ không phải dọc theo đường dẫn vì nó được hiển thị trực quan.
Lý tưởng nhất là tôi muốn có thể dừng/khởi động hoạt ảnh - cùng một vấn đề xảy ra khi khởi động lại. Khi tôi dừng lại sau đó khởi động lại hoạt ảnh, nó sẽ hoạt hình trong một vòng tròn bắt đầu từ X, Y đã dừng.
CẬP NHẬT
Tôi tạo ra một trang đó chứng tỏ vấn đề: http://infinity.heroku.com/star_systems/48eff2552eeec9fe56cb9420a2e0fc9a1d3d73fb/demo
Bấm "bắt đầu" để bắt đầu hoạt hình. Khi bạn dừng lại và khởi động lại hoạt ảnh, nó tiếp tục từ các vòng tròn hiện tại coords trong một vòng tròn của các kích thước chính xác.
bạn có trang ví dụ minh họa sự cố không? – Breton