VArios
Hace unos días estamos hablando de como cargar una imagen, textura 2d como fondo en nuestro primer proyecto en XNA, sin embargo hoy vamos a avanzar otro poco haciendo algo sencillo y masllamativo. Vamos a cargar una imagen que se pueda mover por la pantalla y rotar.
Lo primero cargamos un proyecto nuevo de videojuego para Windows, como ya hicimos en la anterior ocasión y de ahí partimos ahablar poco a poco del código final que tendríamos para finalizar este proyecto.
Nada mas empezar necesitamos las siguientes variables, una textura 2d, dos vectores y un float, un vector para laposición del sprite y otra para el centro del sprite en cada momento.
1
2
3
4
Texture2D sprite;
Vector2 posSprite;
Vector2 posCentro;
float rotacion;
Al inicializar nuestro segundojuego, cargamos nuestro sprite en la posición 400, 300, cargamos su imagen, asociamos la x e y del vector posCentro a la mitad de las dimensiones del sprite y calculamos pi * 2 para el angulo de rotación.
12
3
4
5
posSprite = new Vector2(400, 300);
sprite = Content.Load("logo");
posCentro.X = sprite.Height / 2;
posCentro.Y = sprite.Width / 2;
rotacion = MathHelper.Pi * 2;
Una vez se vayaactualizando el juego, tendremos que interactuar con el mismo, para ello vamos a usar la clase Keyboard, comprobando cuando se pulsa una tecla y asignándole una acción.
1
2
3
4
5
6
7
8
9if (Keyboard.GetState().IsKeyDown(Keys.Down))
{
posSprite += new Vector2(0, 10);
}
if (Keyboard.GetState().IsKeyDown(Keys.G))
{
rotacion -= 0.1f;
}
Por ultimo en cada actualización de la pantalla,dibujamos a nuestro sprite en pantalla, según su posición y rotación.
1
spriteBatch.Draw(sprite, posSprite, null, Color.White, rotacion, posCentro, 1.0f, SpriteEffects.None, 0f);
Eso seríapara hacer este ejemplo, como veis algo muy sencillo, practico y fácil de experimentar con el. Os dejo aquí el ejecutable del segundo tutorial de XNA para que podáis probar y construirlo pos vosotros...
Regístrate para leer el documento completo.