SVG có phải là sự lựa chọn công nghệ khả thi cho trò chơi dựa trên web không? [đóng cửa]


13

Tôi đã bắt đầu đọc về công nghệ web có sẵn để thực hiện trò chơi dựa trên web chỉ với Javascript, nhưng tôi không có phản hồi nào về SVG với HTML5. Là một sự lựa chọn khả thi? Liệu nó có hoạt động tốt so với các kỹ thuật khác như Chuyển đổi Canvas, DOM & CSS, v.v.


Câu trả lời:


6

SVG được hỗ trợ trong HTML5; trình duyệt mà trình phát của bạn đang sử dụng có hỗ trợ hay không thì đó là một câu chuyện khác.

Tùy thuộc vào nhu cầu của bạn, bạn nên kiểm tra RaphaelJS . Raphael cung cấp hỗ trợ giống như SVG cho IE bằng cách chuyển sang VML khi kết xuất cho IE. Raphael cung cấp rất nhiều chức năng bao gồm hình động và hỗ trợ phông chữ Cufon. Nó chắc chắn đáng xem.

Do SVG là một phần của DOM nên việc đính kèm các sự kiện DOM như "nhấp chuột" và "di chuột" vào các phần tử SVG đã tạo khá đơn giản. Điều này có thể làm cho SVG phù hợp hơn với màn hình kiểu HUD hơn là hoạt hình các họa tiết, v.v.

Bạn có thể có rất nhiều thử nghiệm trước mắt để xác định các đặc tính hiệu suất tương đối của SVG so với canvas, tuy nhiên.

Thao tác DOM thẳng có lẽ sẽ là điều tồi tệ nhất trong nhóm. Khi bạn thay đổi mọi thứ trong DOM, công cụ bố cục của trình duyệt sẽ tính toán lại bố cục của trang để điều chỉnh các thay đổi của bạn, điều này có thể sẽ giết chết hiệu suất trò chơi của bạn. Nếu bạn phải đi theo con đường này, hãy ưu tiên CSS (đặc biệt là các tính năng dành riêng cho CSS3 như chuyển đổi và khung hình chính).


Sử dụng Snap.svg , đó là sự kế thừa của RaphaelJs từ cùng một tác giả, nhưng không có sự hỗ trợ lộn xộn cho các trình duyệt cũ và các nhà thám hiểm Internet VML. Sạch hơn, tốt hơn, hiện đại hơn và nhanh hơn.
Lajos Meszaros

5

Hãy xem trang web này để thấy khả năng tương thích SVG. Ngay bây giờ, nó tốt nhất là tốt nhất và tôi sẽ không đề xuất nó cho bất cứ điều gì khác ngoài các bản demo thử nghiệm cho các tủ trưng bày.

Đừng mong đợi mọi người sử dụng trình duyệt mới nhất và tốt nhất.

Tôi nghĩ rằng việc sử dụng SVG sẽ là một sai lầm lớn và sẽ khiến người dùng của bạn ngại ngùng khi họ thấy mọi thứ bị hỏng.


5

Bạn sẽ tốt hơn nhiều khi sử dụng Canvas. Cả hai đều không được hỗ trợ trong IE và canvas được biết đến là một công nghệ trò chơi dựa trên web khả thi; cộng với nó có tốc độ kết xuất khá tốt, đặc biệt là trong Chrome (và dường như cũng trong IE9, theo các bản demo đầu tiên; tôi đã không thử nó gần đây). Nếu bạn cần nhắm mục tiêu các phiên bản cũ hơn của IE và / hoặc nền tảng di động, hãy sử dụng DOM cũ đơn giản, không có hiệu năng rất tốt nhưng vẫn có thể chấp nhận được đối với các trò chơi đơn giản (ví dụ Pacman ).


2

Câu trả lời ngắn có.

Câu trả lời dài,

Tôi vẫn làm việc trong một môi trường hoàn toàn phụ thuộc vào IE6 và đã sử dụng thư viện tuyệt vời này cho các biểu đồ. (sử dụng VML cho IE6-IE8) Tôi chắc chắn yêu thích canvas và thích nó để viết trò chơi với js. Vì vậy, nếu bạn muốn tạo một trò chơi trong svg tôi nói hãy làm điều đó, các trò chơi khác đã được tạo bằng cách sử dụng nó (xem ví dụ về Raphael). Bất kể bạn vẫn sẽ sử dụng JS để làm điều đó, vì vậy nếu bạn muốn chuyển sang canvas, nó sẽ không gây đau đớn như vậy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.