Tôi có một nhóm đối tượng được nhóm với Raphael.set()
. Điều tôi muốn làm là di chuyển toàn bộ tập hợp (thay đổi các tọa độ x
và y
) từ vị trí này sang vị trí khác. Làm cách nào tôi có thể di chuyển toàn bộ tập hợp thành một đối tượng? Những gì tôi thấy là khi một số .attr({X: newX, Y: newY})
được gọi là mọi phần tử từ tập hợp sẽ được định vị trên phối hợp này, điều này sẽ dẫn đến chồng chất tất cả các phần tử ở một nơi.Làm thế nào để di chuyển tập raphael?
9
A
Trả lời
15
Chỉnh sửa: Tham khảo Rick Westera's answer là translate
hiện không được chấp nhận.
Sử dụng .translate(x, y)
, ví dụ:
var paper = Raphael('stage', 300, 300);
var set = paper.set();
set.push(paper.rect(0,0,30,50));
set.push(paper.circle(40,50,10));
set.push(paper.path("M 0 70 L 100 70"));
set.translate(100, 100);
2
Đây là những gì tôi đang sử dụng để định vị một bộ, trong trường hợp của tôi là một tập hợp các phông chữ được trả về bởi Paper.print() nhưng tôi nghĩ rằng nó sẽ làm việc với bất kỳ loại thiết lập nào.
var glyphs = paper.print(0, 0, text, paper.getFont(font, 800), fontSize).hide();
glyphs.transform('...T' + [posx, posy] + 'R' + [angle, posx, posy]).show();
hy vọng điều đó sẽ hữu ích.
9
Sử dụng transform('Tx,y')
vì bản dịch không còn được dùng nữa. Ví dụ:
var paper = Raphael('stage', 300, 300);
var set = paper.set();
set.push(paper.rect(0, 0, 100, 100));
set.push(paper.text(50, 50, "Foo"));
set.transform("T100,50");
Lưu ý rằng có hai loại dịch:
- 'T100,50' sẽ di chuyển các thiết lập 100px bên phải và 50 xuống bằng trục toàn cầu.
- 't100,50' sẽ thực hiện tương tự nhưng sử dụng trục cục bộ của bộ (ví dụ: nó phụ thuộc vào cách mà tập hợp đã được xoay).
Các vấn đề liên quan
- 1. Làm thế nào để di chuyển QSplitter?
- 2. Làm thế nào để animate vị trí di chuyển? Làm thế nào để di chuyển trơn tru?
- 3. System.IO.File.Move - Làm thế nào để chờ hoàn thành di chuyển?
- 4. Làm thế nào để sử dụng eve() trong Raphael?
- 5. Làm thế nào để di chuyển tập tin vào thùng rác
- 6. Làm thế nào để sử dụng LevelDB khi di chuyển?
- 7. Làm cách nào để di chuyển thẻ?
- 8. Raphael JS - Sử dụng một tập tin SVG
- 9. Làm cách nào để sửa đổi văn bản raphael?
- 10. Làm thế nào để rake db :: di chuyển thực sự làm việc
- 11. Làm thế nào để di chuyển một đối tượng chuyển tiếp trong Three.js?
- 12. Làm thế nào để làm việc với LocalDB và EF, mà không sử dụng di chuyển
- 13. Làm thế nào để bạn di chuyển một tệp trong SVN?
- 14. Làm thế nào để phát âm thanh trong Qt5 (di chuyển Qt4)?
- 15. Di chuyển các tập tin trong C#
- 16. Làm thế nào để làm cho một cửa sổ undecorated di chuyển/kéo được trong JavaFX?
- 17. Làm thế nào để di chuyển (hoặc làm bất cứ điều gì với) chuột
- 18. Làm thế nào để làm cho hiệu ứng chuyển trên css sprite di chuột
- 19. Làm thế nào để chuyển một tập hợp con của tập hợp sang phương thức C#?
- 20. Làm thế nào để chuyển đổi tập tin .mop thành tập tin .po
- 21. IMAP: làm thế nào để di chuyển một thông điệp từ một thư mục để
- 22. Làm thế nào để bạn di chuyển một cam kết đến khu vực dàn trong git?
- 23. Làm cách nào để di chuyển tệp trong node.js?
- 24. Làm cách nào để di chuyển con rùa trong LOGO?
- 25. Làm cách nào để di chuyển một mục trên NSMutableArray?
- 26. Làm cách nào để di chuyển chú thích trong Highcharts?
- 27. Làm thế nào để tải thư viện .NET di động trong tập lệnh Iron Python?
- 28. Robocopy di chuyển các tập tin cũ hơn
- 29. Rake db: di chuyển - làm cách nào để hoàn tác tất cả di chuyển và làm lại chúng
- 30. Làm thế nào để khôi phục cơ sở dữ liệu di chuyển trên Heroku
nếu bạn muốn đồ họa thêm một chút, điều này có thể giúp dịch http://jsfiddle.net/q4vUx/1/ – limoragni
không được dùng nữa, hãy sử dụng chuyển đổi (xem câu trả lời của tôi bên dưới) –