Click here to load reader
Upload
juan-cardona
View
175
Download
4
Embed Size (px)
DESCRIPTION
Creación de juegos mediante la plataforma XNA de Microsoft Visual Studio Links para descargar material: Parte 01: https://www.dropbox.com/s/2b3f27izg3wfqws/01.XNA.zip Parte 02: https://www.dropbox.com/s/ep3634jsjullkbs/02.XNA.zip Parte 03: https://www.dropbox.com/s/9e3q068t6mlkted/03.XNA.zip Parte 04: https://www.dropbox.com/s/u4navlzlhtecjm0/04.XNA.zip Parte 05: https://www.dropbox.com/s/oqjll5c73kbvu1j/05.XNA.zip
Citation preview
XNA Game Studio
IntroducciónJuan Carlos Zuluaga
Que es xna?
Microsoft XNA es un conjunto de herramientas con un entorno de
ejecución provisto por Microsoft que facilita el desarrollo y manejo
de videojuegos. XNA se enfoca de librar a los desarrolladores de
juegos de escribir mucho código repetitivo pero con ligeros
cambios, y traer diferentes aspectos de producción del juego en un
solo sistema.
Mecanismo XNA
Método Initialize
El método Initialize es usado para inicializar variables y otros objetos
asociados con el objeto Game1. Los objetos del dispositivo grafico será
inicializados en este punto y pueden ser usados en el métodos Initialize para
ayudarte a inicializar otros objetos que dependen en la configuración.
Utilizarás este método para inicializar valores de puntuación y otros valores
afines.
Método LoadContent
El método LoadContent es invocado después del método Initialize, de la
misma forma para el caso que el contenido grafico debe ser recargado (Por
ejemplo cuando el dispositivo grafico debe ser reiniciado debido a que el
jugador ha cambiado la configuración grafica del juego, o algo por el estilo).
El método LoadContent es donde se carga todos los gráficos y otro contenido
requerido por el juego, incluyendo imágenes, modelos, sonidos, etc.
Game Loop (Método Update y Metodo
Draw)
Despues que culmina el método LoadContent, el juego entra en un estado
conocido como Game Loop, o bucle de juego. Casi todos los juegos entran en
algún tipo de bucle de juego, independientemente si están escritos en XNA o no.
Esta área de código difiere del típico entorno de programación de juegos, y para
algunos desarrolladores les puede tomar algo de tiempo acostumbrarse.
En esencia, un Game Loop consiste en una serie de métodos que son invocados
una y otra vez hasta que el juego finaliza. En XNA, el Game Loop consiste en dos
métodos: Update y Draw. Por ahora, puedes pensar en el Game Loop en estos
términos: toda la lógica que afecta el juego actual se encontrará en el método
Update o el método Draw. El método Draw es típicamente usado, obviamente,
para dibujar elementos. Procura implementar lo mínimo que puedas en esta área
excepto para desplegar elementos de tu escena. Todo lo demás que sea necesario
para la ejecución adecuada de tu juego (que eventualmente involucra el mover
objetos, chequear colisiones, actualizar puntuaciones, chequear la condición fin
de juego, etc.) se encontrará en el método Update.
Método UnloadContent
Al punto dentro del Game Loop donde se llegue a una condición de finalizar el
Juego, el bucle se termina, y se invoca automáticamente el método
UnloadContent. Este método es usado para liberar cualquier contenido
cargado previamente en el método LoadContent que requiere un manejo
especial de liberación. Tipicamente, XNA (como .NET) manejara la
recolección de basura automáticamente, pero si has modificado la memoria
en algún objeto que requiere un manejo especial, el método UnloadContent
es donde implementaras la lógica de liberación de contenido de la memoria.
Instalación
Debe de instalar el complemento XNA a su Vusual Studio, lo puede descarcar
de:
http://www.microsoft.com/en-
us/download/details.aspx?id=27599
Plataformas soportadas
Partes de un proyecto
Proyecto WindowsGame1
En esta sección de la solución es donde se desarrolla toda la lógica del juego.
La clase principal es la llamada Class1, donde se encuentra bien definidos los
métodos principales a implementar acorde al funcionamiento del framework
XNA. Existe otra clase estática llamada Program.cs, donde aquí en realidad es
el que invoca la Clase1 para ejecutarla; sin embargo, tu labor es implementar
tu juego es en la clase Class1.
También veras un archivo llamado “Game.ico”, donde este es un pequeño
icono de 32×32 pixeles que se coloca en la esquina superior izquierda de la
ventana de nuestro juego al momento de ejecutar nuestra aplicación. Este
icono también se mostrara si lo anclas a la barra de inicio.
Proyecto WindowsGame1Content
Para este proyecto de tipo Windows Game Library (4.0) que se genera
automáticamente en la solución al momento que se crea un Windows Game
(4.0), es donde se coloca todo el contenido gráfico audiovisual del juego. Se
recomienda que organices el contenido en directorios, para imágenes,
archivos de configuración, sonidos, videos, música de fondo, etc. Esta sección
ya se encuentra referenciada por el proyecto principal (que se puede ver
dentro del directorio “Content References”).
Despliegue de spritesProyecto #1
Crear un nuevo proyecto XNA Game
Si ejecuta el programa verá una pantalla azul, Felicitaciones ya haz hecho el
primer juego en XNA
Agregar la capeta Images, y dentro de esta colocar la imgen (sprite) que
deseamos mostrar en el juego. En este caso:
Agregamos estos atributos a la clase Game1:
Vector2 posicion;
Texture2D smiley;
En el método Initialize, agregamos la siguiente línea antes de la línea:
base.Initialize();
posicion = new Vector2(120, 80);
En el método LoadContent() agreguemos, luego de la línea: spriteBatch = new
SpriteBatch(GraphicsDevice);
smiley = Content.Load<Texture2D>("Images/smiley1");
En el método Draw () agreguemos las siguientes líneas:
spriteBatch.Begin();
spriteBatch.Draw(smiley, posicion, Color.White);
spriteBatch.End();
Ya puedes probar tu juego!
Taller #1
Crea un juego en el cual despliegues varios sprites en diferentes posiciones.
Procura que tus imanes sean PNG y que no tengan fondo
Ensaya diferentes posibilidades de colores cambiando la línea:
GraphicsDevice.Clear(Color.CornflowerBlue); en el método Draw()