Ưu điểm và nhược điểm của việc tạo trò chơi trong DOM thuần túy so với việc sử dụng canvas là gì?Ưu điểm/nhược điểm của Canvas so với DOM trong phát triển trò chơi JavaScript là gì?
Trả lời
Với canvas, bạn có thể thực hiện các thao tác như xoay mà bạn không thể làm với mái vòm thuần túy mà không sử dụng một số thủ thuật "nặng". Dù sao thì dom nhanh hơn và bạn có thể sử dụng nó trong mọi trình duyệt mà không gặp vấn đề gì. Bạn phải suy nghĩ về những gì bạn sẽ sử dụng trong các trò chơi, nếu bạn sẽ chỉ sử dụng các hoạt động cơ bản sử dụng dom nếu không chọn vải.
DOM thực sự nhanh hơn? Bạn chắc chắn? Tôi đã làm động cơ đơn giản trước trò chơi với 2-3 yếu tố chuyển động trong DOM và nó thật khủng khiếp. Ive không bao giờ thử canvas, nhưng các ví dụ tôi thấy trên internet khá nhanh (nhanh hơn các game DOM khác mà tôi thấy). Tôi có thể đọc về điều đó ở đâu? – budzor
Tôi hoàn toàn chắc chắn. Hãy suy nghĩ về thực tế là canvas phải thao tác một lượng lớn dữ liệu. – mck89
Um, không, lý do phổ biến để sử dụng canvas là nó nhanh hơn việc tạo và sửa đổi 1000 phần tử DOM. – Nickolay
Nhìn ở đây: Why Canvas is not an obvious choice for web games.
Khi bạn phát triển bằng Canvas, bạn sẽ phải sử dụng kỹ thuật GameLoop rất đau đớn vì bạn sẽ phải vẽ lại tất cả các phần tử mọi lúc.
Khi bạn phát triển với DOM, bạn sẽ chỉ có thể vẽ lại đối tượng đã được sửa đổi và sẽ cho phép công việc khó khăn để thực hiện trình duyệt.
nếu trò chơi của bạn có một vài sửa đổi trên mỗi khung hình thì bạn có thể sử dụng DOM, nếu không hãy sử dụng Canvas! Nó nhanh hơn rất nhiều!
Không đúng - nếu cảnh trò chơi của bạn không có thay đổi và bạn đã mã hóa chính xác - bạn không nên vẽ lại cảnh. Về vấn đề này Canvas đòi hỏi nhiều kiến thức về kỹ thuật phát triển trò chơi – cloakedninjas
Có, bạn đã đúng! Nhưng tôi nghĩ rằng nó không phải là một sự lựa chọn tốt bằng cách sử dụng canvas cho trường hợp đó – melanke
vải ưu:
- có thể thao tác pixel và áp dụng hiệu ứng lọc, dễ dàng như vậy cho xử lý hình ảnh;
- rất hiệu quả đối với kích thước nhỏ nhưng hàng trăm yếu tố trong game
- nhiều thư viện cho trò chơi có thể được tìm thấy bằng vải, chẳng hạn như box2dweb, và có thể làm cho trò chơi tuyệt vời như con chim giận dữ
khuyết điểm:
- không có trạng thái, vì vậy bạn phải ghi lại trạng thái của các phần tử trong canvas và tự xử lý thử nghiệm lần truy cập.
- hiệu quả thấp với kích thước rất lớn nhưng với một vài yếu tố trong trò chơi
- khả năng tuyệt vời, trách nhiệm lớn. sự tự do để vẽ, mang lại cho bạn phải tính phí của tất cả các nhân viên vẽ. May mắn thay, có rất nhiều thư viện ở đó, chẳng hạn như cocos2d-html5, IvanK.
DOM ưu:
- vẽ bởi trình duyệt, vì vậy ít dễ bị lỗi;
khuyết điểm:
- có thể làm hình ảnh động đơn giản với chỉ CSS, mà làm cho các trò chơi không thông thạo;
- không tốt cho việc thao tác hàng trăm phần tử DOM;
lần đã thay đổi, Trình duyệt Bố cục Công cụ đã trở nên nhanh hơn và JS có thể làm các hoạt ảnh phức tạp mà CSS không thể. cộng với, với lập trình thích hợp, DOM có thể xử lý các trò chơi. Bạn cũng có thể tạo kịch bản cho trình kết xuất DOM cho các công cụ Vật lý nếu bạn nhập vào loại điều đó – K3v1n
@ K3v1n, Câu hỏi thực sự là Tại sao không canvas? – Pacerier
@ Canvas đệm có nghĩa là ở mức thấp, do đó việc sử dụng API nguyên bản là phức tạp cho người mới bắt đầu (kể cả tôi). Cấp, có các thư viện để quản lý phần hiển thị. – K3v1n
- 1. Ưu điểm của VS2008 so với VS2005 đối với phát triển C++ là gì?
- 2. Ưu điểm và nhược điểm của HTML5 Canvas so với SVG + Raphael.js là gì?
- 3. "gotchas" khi phát triển trò chơi trên iPhone là gì?
- 4. Phát triển trò chơi Codeigniter
- 5. Phát triển trò chơi trong vb.Net
- 6. Ưu điểm và nhược điểm của Điều tra so với Ống so với Ống là gì?
- 7. Ưu điểm của LLDB đối với GDB trong phát triển iOS là gì?
- 8. Trò chơi HTML5, canvas hoặc div?
- 9. Lớp so với cảnh trong Cocos2d để phát triển trò chơi iPhone
- 10. Ưu điểm và nhược điểm (kỹ thuật) của Flash so với AJAX/JS là gì?
- 11. Những ưu điểm và nhược điểm của GPGPU (phát triển GPU đa năng) là gì?
- 12. Canvas so với DOM - Phương pháp hiển thị hình ảnh hiệu quả nhất trong HTML5 là gì?
- 13. Bắt đầu phát triển trò chơi Android
- 14. Ưu điểm của F # trên C# cho phát triển ứng dụng doanh nghiệp là gì?
- 15. Ưu điểm của Apache Wicket là gì?
- 16. Bricket cho trò chơi canvas HTML5
- 17. Ưu điểm của Memcached so với hệ thống .NET Cache là gì?
- 18. Ưu điểm của Cache so với phiên
- 19. Phát triển trò chơi xếp hình trong Android
- 20. Khuôn khổ trò chơi JavaScript
- 21. Khuôn khổ phát triển trò chơi .NET tốt nhất là gì?
- 22. Phát triển trò chơi: Bạn tạo trò chơi câu chuyện bằng cách nào?
- 23. Cách tốt nhất để triển khai phát lại trò chơi là gì?
- 24. Ưu điểm của PyQt so với PyGTK và ngược lại là gì?
- 25. Sách thực hành về phát triển trò chơi trong C++?
- 26. Phát triển trò chơi đa nền tảng, với các nhà phát triển trên nhiều nền tảng
- 27. Tạo màn hình bắt đầu cho Trò chơi Canvas HTML5?
- 28. Sử dụng Cython để phát triển trò chơi?
- 29. trò chơi android, canvas hoặc opengl?
- 30. Quản lý chuột trong trò chơi JavaScript
Không sử dụng. Sử dụng flash hoặc đi bản địa. Trình duyệt không phải là một công cụ trò chơi và sẽ không bao giờ tồn tại. –
Ngoài ra, không có cách nào tốt để thực hiện hiệu ứng âm thanh.Unity có một máy nghe nhạc web mà trong kinh nghiệm của tôi hoạt động độc đáo. – Deestan
2012 là một thời gian đen tối. –