Definicion De Xna
Enviado por yataesto • 25 de Agosto de 2013 • 547 Palabras (3 Páginas) • 201 Visitas
2.1 XNA
Vamos a definir la plataforma que vamos a manejar para orientar el diagrama de
clases a la funcionalidad que ofrece XNA.
Definición
XNA no son el acrónimo de ningún nombre. Es el nombre que recibe la nueva
tecnología para la programación multimedia de videojuegos basada en DirectX y
manejada por .Net.
Se trata de un API de programación que simplifica y hace más intuitivo el uso de las
librerías nativas DirectX y, en consecuencia, simplifica de manera notable la
programación de videojuegos.
Estructura
En esencia, XNA se compone de dos librerías de ensamblados (dll) para .Net 2.0 que
manejan por debajo las librerías nativas del sistema de DirectX. Al situarse como una
librería sobre el Runtime de .Net, se beneficia de todas las mejoras que .Net
proporciona incluyendo el manejo de la memoria por el recolector de basuras, la
posibilidad de trabajar con cualquier lenguaje .Net y la multiplataforma.
Previamente a XNA existían las librerías de ensamblados Managed DirectX que, de
manera similar a XNA, permitían el acceso desde lenguajes .Net a las librerías nativas
de DirectX. En este caso, sin embargo, el acceso era mucho menos intuitivo y se
componía, básicamente, de un calco de las funciones de DirectX para .Net. Las
librerías Managed DirectX están en desuso y no se soportarán más en el futuro.
Modelo de programación orientado a videojuegos
El modelo de programación de XNA, al contrario que Managed DirectX, está orientado
a la programación de videojuegos. Para ello se definen una buena cantidad de clases
básicas de tipo matemático, necesarias para la programación gráfica, pero también
una nueva API y metodología de programación sobre estas clases que simplifica el
proceso de desarrollo.
4
El desarrollo de videojuegos con XNA está orientado a componentes. Los
componentes son, básicamente, pequeños trozos de código que cumplen una
funcionalidad concreta. Existen componentes gráficos como podría ser una bola
rebotando por la pantalla, una nave espacial o el mismo escenario del videojuego. No
obstante no todos los componentes tienen por qué ser gráficos. Podemos tener un
manejador de eventos o estados del videojuego, un generador de lógica u otros tipos
de componentes que no necesiten ser renderizados para usarse y cumplir su función.
Todos estos elementos heredan de la clase GameComponent (para los elementos no
gráficos) o de la clase DrawableGameComponente (para los elementos gráficos).
Una clase central (Game) se encarga de manejar todos los GameComponents que
han sido registrados. Así, un videojuego (Game) es igual a la suma de las
funcionalidades de
...