lunes, 12 de octubre de 2009

Controles para el juego en XNA

Bueno, vamos a por ello, vamos a hacer que la imagen se pueda mover por la pantalla, no es la mejor manera de hacerlo "ya que esto se debe hacer con sus objetos correspondientes" pero asi nos vemos las clases para usar el mando de xbox 360 o el teclado:

1.- Abrimos nuestro proyecto anterior NinjaVolador
2.- Creamos un vector2 en vez de usar el anterior en nuestro game1:
Vector2 posicion = new Vector2(1,1);

3.- Modificamos la linea de la clase Draw e introducimos nuestro vector:
spriteBatch.Draw(personaje, posicion, Color.White);

4.- Ahora viene lo que de verdad queria tratar, la clase update, esta clase se esta ejecutando en todo momento en nuestro juego, asi que aqui introduciremos los controles de la imagen, esto lo hacemos de la siguiente forma:

if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X > 0)
{
posicion.X +=1;
}
if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.X < 0)
{
posicion.X -=1;
}

if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y > 0)
{
posicion.Y -= 1;
}

if (GamePad.GetState(PlayerIndex.One).ThumbSticks.Left.Y < 0)
{
posicion.Y += 1;
}

Sencillamente, si el jugador uno pulsa su stick izquierdo en determinada dirección pues la posición cambiara, generando el movimiento que deseabamos, si usamos en vez de GamePad a Keyboard, pues podremos hacer lo mismo con nuestro teclado.

Codigo del programa aqui:

2 comentarios:

jesusnoseq dijo...

para los que quieran mas informacion:
http://xna.animered.net

http://aprendiendoxna.wordpress.com/

http://xna-para-torpes.blogspot.com/search/label/General

Francisco García Díaz dijo...

Son buenas para empezar a aprender xna, tambien hay un foro que me encanta, ademas de ser el mas activo que conozco que es:

http://www.dotnetclubs.com/forums/44.aspx