Introduccion A Xna By Lasa

21
Luis Antonio Sánchez Alfaro Albacete DotNetClub [email protected] http://labloguera.net/blogs/lsanchez

Transcript of Introduccion A Xna By Lasa

Page 1: Introduccion A Xna By Lasa

Luis Antonio Sánchez AlfaroAlbacete [email protected] http://labloguera.net/blogs/lsanchez

Page 2: Introduccion A Xna By Lasa

PUNTOS DEL DIA

• ¿Qué es XNA?• ¿Qué nos ofrece XNA?• Novedades y XNA 3.1• Capas en XNA• ¿Qué Necesitamos?• Conceptos Básicos• ¿De que forma se ejecuta un juego?• Colisiones• Components• Xbox Live Community Games• Demo

Page 3: Introduccion A Xna By Lasa

• XNA (XNA’s Not Acronymed) es una plataforma de desarrollo de videojuegos para estudiantes, programadores o aficionados a la creación de estos.

• Esta basa da en .NET, en concreto en el sistema XNA Framework, que es el sistema de bibliotecas de .NET para el desarrollo de videojuegos.

¿Qué es XNA?

Page 4: Introduccion A Xna By Lasa

• Utiliza DirectX9

• Gratuito(XNA Framework + Visual Studio Express)

• Compatible Windows Forms

• Desarrollo para Múltiples Plataformas

¿Qué es XNA?

Page 5: Introduccion A Xna By Lasa

¿Qué nos ofrece XNA?

• Programación en C# (lenguaje sencillo, fácil debug)

• Helpers: Boundings, fácil carga de modelos 2D y 3D

• Funciones Input sencillas (Gamepad,Keyboard,Mouse)

• XBox 360, PC y ZuneHD

• Visual Studio 2008

• Game Components

• Ayudas con Video y Audio.

• Posibilidad de usar la GPU en lugar de la CPU

Page 6: Introduccion A Xna By Lasa

Novedades XNA 3.1

•Soporte Multitouch ZuneHD

•Soporte para la creación de avatares en Xbox (Pack animaciones gratuito para los avatares.)

•Xbox LIVE Party Support

•Mejoras en las API’s de Audio y en el Content Pipeline (podemos añadir tipos propios)

•Capacidad de reproducción de video(Intro juego)

Page 7: Introduccion A Xna By Lasa

Las Capas de XNA

Platform

CoreFramework

ExtendedFramework

Games

XACT XINPUT XContentDirect3D

Graphics Audio Input Math Storage

Application Model Content Pipeline

Starter Kits Code Content Component

Legend XNA Provides You Provide Community

NetworkingGamer Services

Page 8: Introduccion A Xna By Lasa
Page 9: Introduccion A Xna By Lasa

¿Qué Necesitamos para empezar?

Page 10: Introduccion A Xna By Lasa

Conceptos Básicos

• El CPL nos permite un fácil acceso a estos recursos desde cualquier objeto utilizado en nuestro juego.

CONTENT PIPELINE: API que nos permite a nosotros desarrolladores introducir los elementos multimedia en nuestros videojuegos (videos, contenido 3d,graficos,etc).

Page 11: Introduccion A Xna By Lasa

Conceptos BásicosPRINCIPALES FUNCIONES DENTRO DEL PROGRAMA

- CLASE GAME 1

Clase Principal del programa compuesta por las siguientes funciones:

•Initialize()

•LoadContent()

•UnloadContent()

•Update()

•Draw()

Page 12: Introduccion A Xna By Lasa

Conceptos Básicos

• void Initialize()Método que utilizaremos para inicializar o dejar disponible todo lo que nos haga falta en el momento en el que se arranca el juego.

•void LoadContent() y UnLoadContent()Metodos utilizados para cargar las texturas gráficaso para liberar la memoria de estas.

Page 13: Introduccion A Xna By Lasa

Conceptos Básicos

• void Update(GameTime gameTime)Cada unidad de tiempo, la lógica del juego se actualizara con lo que pongamos en este método.

• void Draw(GameTime gameTime)Aquí situaremos los objetos que se irán dibujando en cada frame . Se actualiza a la misma velocidad que el Update. Nos permite cosas como elegir el fondo de pantalla que nos aparece al compilar recién abierto el proyecto.

Page 14: Introduccion A Xna By Lasa

¿De qué forma se ejecuta el juego?

• Nuestro juego también esperara que le enviemos ordenes pero a diferencia de las aplicaciones normales, mientras no hagamos nada este NO estará parado, sino que se estará ejecutando lo que llamamos BUCLE DE JUEGO.

• En una aplicación corriente por lo general se trabaja mediante ordenes enviadas por el usuario en forma de eventos, tales como pulsar un botón, marcar una casilla, etc.

Page 15: Introduccion A Xna By Lasa
Page 16: Introduccion A Xna By Lasa

Colisiones

• Una de las situaciones más comunes a tratar en un juego es el tema de las colisiones.

• ¿Cómo lo hace XNA? Mediante las BoundingBox y Bounding Sphere.

Page 17: Introduccion A Xna By Lasa

Los Components

• Los Components en un proyecto de juego son como agregados o “trozos de código” que han sido escritos por otros desarrolladores y que agregan diferentes funcionalidades u opciones nuevas nuestro programa, sin necesidad de volver a escribirlas nosotros, simplemente agregándolas en nuestro proyecto (Ejemplo: Menú de juego)

Page 18: Introduccion A Xna By Lasa

Los Components

Page 19: Introduccion A Xna By Lasa

XBOX Live Community Games

• Servicio Online creado por Microsoft a mediados de 2004 el cual permite la descarga de juegos para las consolas Xbox y Xbox 360, pero pagando una cantidad bastante menor que la de cualquier juego comercial.

• En un principio el precio máximo de un juego era de 10€. 70% nosotros 30% MicroSoft.

• Característica interesante: en este servicio podemos poner a la venta nuestros propios juegos creados en XNA para esta consola y ganar dinero con ellos.

Page 20: Introduccion A Xna By Lasa

Enlaces de Interés

Recursos

• http://www.microsoft.com/express/vcsharp/ (Visual C# Express Edition)

• http://www.microsoft.com/downloads/ (Para descarga del XNA 3.0)

Comunidad

• http://xna-para-torpes.blogspot.com

• http://labloguera.net/blogs/csharp/

• http://creators.xna.com/es-ES/(Articulos,Tutos,Foro,StarterKits)

• http://www.codeplex.com/XNACommunity(Componentes,Juegos,Articulos)