16

Click here to load reader

Xna game studio presentación 01

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

Page 1: Xna game studio   presentación 01

XNA Game Studio

IntroducciónJuan Carlos Zuluaga

Page 2: Xna game studio   presentación 01

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.

Page 3: Xna game studio   presentación 01

Mecanismo XNA

Page 4: Xna game studio   presentación 01

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.

Page 5: Xna game studio   presentación 01

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.

Page 6: Xna game studio   presentación 01

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.

Page 7: Xna game studio   presentación 01

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.

Page 8: Xna game studio   presentación 01

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

Page 9: Xna game studio   presentación 01

Plataformas soportadas

Page 10: Xna game studio   presentación 01

Partes de un proyecto

Page 11: Xna game studio   presentación 01

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.

Page 12: Xna game studio   presentación 01

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”).

Page 13: Xna game studio   presentación 01

Despliegue de spritesProyecto #1

Page 14: Xna game studio   presentación 01

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");

Page 15: Xna game studio   presentación 01

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!

Page 16: Xna game studio   presentación 01

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()