Haz un clic derecho sobre el proyecto y agrega una nueva clase llamada «Jugador», y agrega los métodos Initialize, Update y Draw. Deberás importar las librerías de XNA.
using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
namespace Shooter
{
class Jugador
{
public void Initialize()
{
}
public void Update()
{
}
public void Draw()
{
}
}
}
Esta es la estructura básica de nuestra clase Jugador, que funcionará para desplegar el elemento que controlará el usuario, que en nuestro caso es la aeronave. Ahora agrega los siguientes atributos (observa la importancia de cada uno que se encuentran comentados)
// Animacion representando al jugador
public Texture2D PlayerTexture;
// Posicion del jugador
public Vector2 Position;
// Estado del jugador
public bool Active;
// Cantidad de vida del jugador
public int Health;
// Obtener el ancho del jugador
public int Width
{
get { return PlayerTexture.Width; }
}
// Obtener el alto del jugador
public int Height
{
get { return PlayerTexture.Height; }
}
Estos son algunos atributos fundamentales para nuestra clase jugador, pero obviamente se pueden agregar mas dependiendo del control que queramos tener sobre este elemento. Ahora reemplaza el método Initialize (de la clase Jugador) con lo siguiente:
public void Initialize(Texture2D texture, Vector2 position)
{
PlayerTexture = texture;
// Asignar la posicion del jugador
Position = position;
// Activar el jugador
Active = true;
// Inicializar la vida del jugador
Health = 100;
}
Como se puede ver claramente, lo que hace el metodo Initialize es establecer las propiedades iniciales de nuestra clase Jugador. Ahora reemplaza el metodo Draw con el siguiente:
public void Draw(SpriteBatch spriteBatch)
{
spriteBatch.Draw(PlayerTexture, Position, null,
Color.White, 0f, Vector2.Zero, 1f, SpriteEffects.None, 0f);
}
Ya con la clase Jugador con sus atributos y funciones listas, pasaremos a la clase principal para instanciar un objeto Jugador.
En la clase Game1.cs
Ya que tenemos todo preparada la clase Jugador, debemos instanciarla, inicializarla y por último, invocar su método Draw desde esta clase principal para desplegar la nave en la pantalla. Ve al inicio de esta clase, y debajo de la declaración del atributo SpriteBatch spriteBatch; agrega nuestra variable tipo Jugador.
Jugador jugador;
Y ahora en el método Initialize, instanciamos nuestra clase:
jugador = new Jugador();
Siguiente, debemos cargar la textura de nuestra nave que se encuentra en el Content de nuestro proyecto. En el método LoadContent, agrega las siguientes líneas:
// Load the player resources
Vector2 playerPosition = new Vector2(
GraphicsDevice.Viewport.TitleSafeArea.X,
GraphicsDevice.Viewport.TitleSafeArea.Y +
GraphicsDevice.Viewport.TitleSafeArea.Height / 2);
jugador.Initialize(Content.Load<Texture2D>("Imagenes/nave"), playerPosition);
Ya que tenemos nuestro objeto Jugador instacianciado, y cargado, ve al metodo Draw y agrega las siguientes instrucciones:
spriteBatch.Begin(); jugador.Draw(spriteBatch); spriteBatch.End();
Ahora finalmente compila el proyecto, y ejecútalo. Si todo funciona correctamente, verás algo como esto:
Si tu proyecto presenta errores y no encuentra como solucionarlos, no entres en pánico, puedes descargar el proyecto de acá en su estado final de este tutorial, simplemente da clic al siguiente enlace:

