lunes, 12 de octubre de 2009

Insertando una imagen en XNA

Bueno, aqui viene mi primer cutrotutorial de XNA, voy a dar por sentado que sabeis como funciona el bucle del programa en los juegos, si hubiera algún problema con eso, comentadlo y haré un flashback para que todos esteis al tanto, bien, vamos a por ello.

1.- Abrimos el Visual C# express "obviamente" y creamos un nuevo proyecto, yo le he llamado NinjaVolador

2.- Ahora tenemos nuestra ventana con nuestro proyecto abierto, lo siguiente será importar la imagen que queremos usar, nos dirigimos a la derecha al explorador de soluciones y pulsamos con el boton derecho en el campo Content y marcamos la opción agregar/Elemento Existente



3.- Nos pedirá seleccionar un archivo, este archivo será nuestra imagen, la buscamos y seleccionamos para importarla al proyecto

4.- Vereis que debajo de content aparece nuestra imagen, ¡ya esta lista para ser usada! si tiene un nombre raro, o muy largo podeis cambiarselo haciendole click derecho y pulsando Cambiar Nombre

5.- Ahora toca meterla en el codigo, en nuestra clase game1 "clase de nuestro juego por defecto en xna" declaramos una nueva textura, esto lo hacemos asi:
Texture2D personaje;
He creado un objeto llamado personaje de tipo Texture2D, que es el tipo de las imagenes 2D

6.- Ahora toca asignar la imagén que hemos importado anteriormente a personaje, esto lo hacemos en el metodo LoadContent "es el metodo que carga todo el contenido de nuestro juego" con la siguiente linea:

personaje = Content.Load("Lloyd");

Con esto asigno a personaje una textura2D llamada Lloyd "que es el nombre de mi imagen" y como dato importante, no hace falta la extensión de la imagen "de hecho no sabia antes porque me fallaba y me quebré la cabeza para al final resultar que se ponia sin su extensión.

7.- Lo ultimo de todo es hacer que el metodo Draw pinte la imagen "draw se encarga de pintar lo que nosotros queramos en cada momento", pues en el metodo Draw ponemos lo siguiente:

GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin();
spriteBatch.Draw(personaje, Vector2.Zero, Color.White);
spriteBatch.End();
base.Draw(gameTime);

La primera linea es la que da ese tono azulon tan guapo a los programas de xna por defecto, con spriteBatch.Begin y End indicamos el inicio y final del spriteBatch, dentro pondremos todo lo que queramos pintar en el mismo, en este caso nuestro personaje, el segundo dato es un vector de dos coordenadas X e Y para saber donde pintar nuestro personaje, en este caso esta en Zero "X e Y no tienen valor" para poder poner la imagen en otro sitio simplemente tenemos que crear nuestro vector y darles un valor a X e Y, con el ultimo podemos ponerle un color a nuestra imagen, con White no le asignará ningun color.


8.- Ya queda pulsar F5 y ver el resultado, o darle al botoncito de play





Codigo del proyecto:

No hay comentarios: