lunes, 13 de junio de 2011

XNA - Introduccion



XNA nos facilita la parte de arranque de recursos y hardware, mientras que con otros frameworks nosotros debemos iniciar la ventana, la aceleración grafica y otras cosas, no digo que sea malo, tarde o temprano eso se tiene que aprender tambien, pero si se recien empieza al desarrollo de juegos, se puede pasar por alto.
Con XNA simplemente creamos el proyecto y ya podemos empezar a programar.
Como crear nuestro proyecto
Abrimos el C#, y vamos a Nuevo proyecto.
Windows Game: Crea un proyecto con las clases para poder arrancar nuestro juego.
Windows Game Library: Crea un proyecto que nos almacenara nuestras clases, al momento de compilar, este proyecto quedara echo en un DLL.
Estos dos tipos de proyectos es lo que mas usaremos, para empezar crearemos un proyecto Windows Game, y le ponemos de nombre "Mi Juego".

Una ves creado, tendremos 2 archivos.
Program.cs: Esta clase inicia nuestro juego, conviene no tocarla. Tampoco es que halla mucho que podamos modificar.
Game1.cs: Acá esta la posta.
Game1.cs
Esta clase es nuestra base, todo lo que tenga nuestro juego, al final terminara aca. Cuando lo abrimos tenemos el siguiente codigo.
using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
namespace Mi_Juego
{
public class Game1 : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;
public Game1()
{
graphics = new GraphicsDeviceManager(this);
Content.RootDirectory = "Content";
}
protected override void Initialize()
{
base.Initialize();
}
protected override void LoadContent()
{
spriteBatch = new SpriteBatch(GraphicsDevice);
}
protected override void UnloadContent()
{
}
protected override void Update(GameTime gameTime)
{
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime)
{
GraphicsDevice.Clear(Color.CornflowerBlue);
base.Draw(gameTime);
}
}
}
?
Cuando ejecutamos algún proyecto nuestro, XNA tiene una forma de iniciarse:

1- Primero pasa por el método Initialize, acá iniciara todo lo que dentro.
2- Luego ira a LoadContent, este método cargara todo nuestro contenido como texturas, sonidos y fuentes que hallamos cargado.
3- El Update es muy importante, luego de ir al LoadContent, pasara por este metodo. XNA siempre estará actualizándolo hasta que nosotros cerremos nuestro juego, todo lo que tenga que ver con actualizaciones debe ser puesto aca.
4- Por ultimo, el Draw se ocupa en dibujar todo lo que le digamos, primero acutalizara todo el Update, luego ira por el Draw y lo dibujara, asi sucesivamente hasta que cerremos nuestro juego.
5- Cuando cerremos nuestro juego, se llamara al método UnloadContent, lo que hara es limpiar la memoria de los recursos que hallamos cargado, y por ultimo, cerrara la ventana.

Bien!, ahora que ya sabemos esto ya estamos listo para empezar a cargar cosas y a poder armar nuestro juego.
En el proximo tutorial veremos como cargar texturas.