2011-04-03 18 views
6

He utilizado algunos frameworks de JavaScript en mi carrera como desarrollador. A saber, jquery, herramientas de moo y atlas. Pero toda mi experiencia está rodeando el desarrollo de sitios corporativos profesionales. Actualmente estoy trabajando en un juego que tendrá una interfaz de usuario muy rica. Estoy contemplando implementar la interfaz de usuario completamente en JavaScript y HTML. Así que ahora mismo estoy en el proceso de investigar mis opciones en ese sentido. ¿Existe un marco de JavaScript que pueda usar que me ayude a crear una interfaz de usuario de juegos rica?Marco de Javascript para la interfaz de usuario del juego

Específicamente necesito animar caracteres y efectos. Esto puede ser fotograma a fotograma si es necesario o incluso con bisagras, como lo que muchas animaciones flash les gusta usar. El marco ideal se habría construido en la funcionalidad para tomar elementos artísticos y tal vez una carga XML que, cuando se interpretara, describa cómo los activos artísticos se relacionan entre sí. Para cuadro por cuadro, esta sería una forma de decirme en qué secuencia entran las imágenes y qué tan rápido cambiar los marcos. Para un marco tipo bisagra, sería una forma de decir dónde colocar los brazos, las piernas, dónde están las articulaciones y permitirme agrupar los movimientos articulares específicos en animaciones. Por último, el marco ideal sería compatible con la funcionalidad de la muñeca de papel donde puedo usar capas para poner un par de gafas en un personaje, por ejemplo, o diferentes prendas o colores.

Me doy cuenta de que lo más probable es que el ideal que describo arriba no esté disponible, pero si hay algo que me acerque a mi ideal de jquery u otros marcos similares me ayudará en mi decisión.

Gracias

marcos

Respuesta

7

Su pidiendo algo demasiado específica aquí. Cuando se trata de la prestación de los juegos a la pantalla usted tiene 3 opciones no convencionales de plugin

lienzo

El lienzo es una pantalla basada en la trama. Puede utilizar una abstracción estrecha en el lienzo como easel.js o una abstracción pesada como The render engine. Ahora estos probablemente no tienen las características de grano fino que desea.

La razón por la que no es el rendimiento. El código de alto rendimiento y las abstracciones de alto nivel no van de la mano. Descubrirá que usar una abstracción pesada sobre una liviana tiene un costo de rendimiento serio.

SVG

Puede utilizar SVG, lo que hace que los gráficos basados ​​en vectores. Una buena biblioteca de abstracción para SVG es rapheal. De nuevo, no hay bibliotecas o marcos de abstracción de alto nivel para lo que busca simplemente por los costos de rendimiento.

DOM

También puede procesar por el simple uso de la manipulación del DOM. Cualquier biblioteca como jQuery o MooTools hará por esto.Si desea utilizar elementos de la IU HTML en lugar de los personalizados, puede usar algunos de los juegos de herramientas de interfaz de usuario de gran peso como Sencha, SproutCore y Cappucino.

No hay nada genérico y convencional para que su vida sea más fácil todavía. Puedes ver algunos motores de juegos de javacript como crafty

+0

¿Tienes una ruta que prefieres si estuvieras en mis zapatos? Lienzo vs. Dom vs. SVG. Creo que sé básicamente lo que es SVG, presumiblemente admite archivos .svg y crea gráficos usando formas vectoriales y DOM es bastante directo ya que es lo que he usado en toda mi carrera, pero ¿cómo se diferencia Canvas de SVG y DOM? Sé que Canvas es una nueva etiqueta disponible en HTML5, pero no creo que se comporte de manera diferente a un DIV, por ejemplo. – omatase

+0

@omatase Tengo una preferencia personal por rapheal. Principalmente porque todo lo que dibuja en SVG es un objeto y puede manejarse de forma independiente. Es decir. puede adjuntar controladores de eventos. Uso patrones MVC para mis juegos, así que me gusta tener un modelo para las entidades de mi juego y tener una vista adjunta. La vista es solo un objeto SVG. – Raynos

+0

@omatase el lienzo es una pantalla de trama. Puedes renderizarlo. También es compatible con la aceleración 3D. Es diferente de un div porque puedes dibujar directamente sobre él. Aquí hay un [tutorial] (https://developer.mozilla.org/es/Drawing_Graphics_with_Canvas) – Raynos

Cuestiones relacionadas