¿Cuáles son las ventajas y desventajas de crear juegos en DOM "puro" en comparación con el uso de lienzo?¿Cuáles son las ventajas/desventajas de Canvas vs. DOM en el desarrollo de juegos de JavaScript?
Respuesta
Con lienzo puede realizar operaciones como la rotación que no se puede hacer con domo puro sin utilizar algunos trucos "pesados". De todos modos, el dominio es más rápido y puedes usarlo en todos los navegadores sin problemas. Debes pensar en qué vas a usar en el juego, si usarás solo operaciones básicas usa el dom o elige el lienzo.
¿DOM es realmente más rápido? ¿Estas seguro? Hice un simple motor previo al juego con 2-3 elementos móviles en DOM y fue terrible. Nunca he probado el lienzo, pero los ejemplos que vi en Internet fueron bastante rápidos (más rápido que otros juegos DOM que vi). Donde puedo leer sobre eso? – budzor
Estoy absolutamente seguro. Piense en el hecho de que el lienzo debe manipular una gran cantidad de datos. – mck89
Um, no, la razón común para usar canvas es que es más rápido que crear y modificar miles de elementos DOM. – Nickolay
Cuando desarrolle con Canvas tendrá que utilizar la técnica GameLoop que es muy dolorosa porque tendrá que volver a dibujar todos los elementos todo el tiempo.
Cuando desarrolle con DOM podrá volver a dibujar solo los objetos que se han modificado y permitirá que el trabajo duro para la implementación del navegador.
si su juego tiene algunas modificaciones por cuadro, entonces puede usar el DOM; de lo contrario, utilice el lienzo por favor. ¡Es mucho más rápido!
No es cierto, si la escena de su juego no tiene cambia y lo ha codificado correctamente; no debe volver a dibujar la escena. En este sentido, Canvas requiere un mayor conocimiento de las técnicas de desarrollo de juegos – cloakedninjas
¡Sí, tienes razón! Pero creo que no es una buena elección usar lienzos para ese caso – melanke
lona pros:
- podían manipular píxeles y aplicar el efecto de filtro, tan fácil para el procesamiento de imágenes;
- muy eficiente para el pequeño tamaño pero cientos de elementos en el juego
- muchas bibliotecas de juego se puede conocer el uso de tela, como box2dweb, y podrían hacer que los juegos impresionantes como pájaro enojado
contras:
- es apátrida, por lo que debe registrar los estados de los elementos en el lienzo y manejar la prueba de golpe usted mismo.
- baja eficiencia para tamaño muy grande pero con uno algunos elementos en el juego
- gran capacidad, gran responsabilidad. la libertad de dibujar, trae en usted tiene que cargar de todo el personal de dibujo. Afortunadamente, hay muchas bibliotecas allí, como cocos2d-html5, IvanK.
DOM pros:
- renderizado por el navegador, por lo menos propenso a errores;
contras:
- podía hacer animación simple, con sólo CSS, que hace que el juego no es fluido;
- no es bueno para manipular cientos de elementos DOM;
veces han cambiado, los motores de diseño de navegadores se han vuelto más rápidos y JS puede hacer animaciones complejas que CSS no puede. Además, con la programación adecuada, DOM puede manejar juegos. También puede crear un procesador de DOM para motores de Física si está interesado en ese tipo de cosas – K3v1n
@ K3v1n, la verdadera pregunta es ¿Por qué no lienzo? – Pacerier
El lienzo de Pacerier está destinado a ser de bajo nivel, por lo tanto, usar el API de forma nativa es complejo para principiantes (incluyéndome a mí). De acuerdo, hay bibliotecas para administrar la parte de renderizado. – K3v1n
- 1. Desarrollo de juegos en vb.Net
- 2. ¿Cuáles son las buenas técnicas para manejar el cambio de estado y estado en el desarrollo de juegos?
- 3. Canvas vs SVG para juegos simples
- 4. ¿Cuáles son las cinco prioridades para el desarrollo de software?
- 5. JavaScript curry: ¿cuáles son las aplicaciones prácticas?
- 6. SharpDX vs SlimDX para el desarrollo de juegos?
- 7. ¿Cuáles son las ventajas de F # sobre C# para el desarrollo de aplicaciones empresariales?
- 8. ¿Cuáles son algunos buenos recursos en el diseño de motores de juegos 2D?
- 9. ¿Cuáles son las mejores prácticas para diseñar clases de JavaScript que representan objetos de interfaz de usuario en el DOM?
- 10. ¿Cuáles son los métodos de protección de aplicaciones/juegos web de JavaScript?
- 11. Desarrollo de juegos de Iphone
- 12. ¿Cuáles son los pros y los contras de HTML5 Canvas vs. SVG + Raphael.js?
- 13. ¿Cuáles son las ventajas del uso de Node.js vs PHP
- 14. ¿Cuáles son las fortalezas/debilidades de ShipIt vs Dist :: Zilla?
- 15. HTML 5 herramientas de desarrollo de juegos
- 16. Manejo de efectos de combate en el desarrollo de juegos
- 17. ¿Cuáles son las ventajas de LLDB sobre GDB en el desarrollo de iOS?
- 18. plataforma/herramientas sugeridas para el desarrollo rápido de juegos y prototipos de juegos
- 19. ¿Debo usar un fragmento DOM como dom Shadow en mi motor de juegos Javascript?
- 20. ¿Usando Cython para el desarrollo de juegos?
- 21. Desarrollo de juegos para Android en C#
- 22. ¿Cuáles son las prácticas estándar para arrojar excepciones de JavaScript?
- 23. ¿Cuáles son las unidades de FB.getAuthResponse(). ExpiresIn?
- 24. Trigonometría y desarrollo de juegos
- 25. ¿Cuáles son las diferencias entre el objeto JSON y JavaScript?
- 26. ¿Cuáles son las diferencias al implementar en Tomcat vs. Websphere?
- 27. ¿Cuáles son las mejores bibliotecas/utilidades/extensiones de javascript array?
- 28. cuáles son las mejores prácticas en el desarrollo de aplicaciones utilizando semántica Jena y RDF
- 29. ¿Cuáles son las características útiles de Emacs para el desarrollo de Rails
- 30. Desarrollo de juegos Android SDK?
No utilizar ninguno de los dos. Usa flash o ve nativo. El navegador no es un motor de juegos y nunca lo será. –
Además, no hay una buena manera de hacer efectos de sonido.Unity tiene un reproductor web que, en mi experiencia, funciona muy bien. – Deestan
2012 fue un momento oscuro de hecho. –