
Los sprites son objetos que nos permite representar imagenes en nuestros juegos.
En un ejemplo anterior del hola mundo utilizamos un spriteFont , un sprite normal tiene casi el mismo proceso de carga que un spriteFont, la diferencia radica en unos pequeños detalles de carga:
Texture2D nave;
nave = Content.Load("nave");
Se inicializa nuestro objeto textura.
En el proceso loadContent() en ves de loas<spriteFont> lo remplazamos por nuestra textura.
Para darle rotacion a nuestro objeto textura devemos tener en cuenta el proceso draw(), ya que en este tendremos sobrecargas importastes a considar:
nustra imagen, posicion, Color, rotacion, vector origen,escala, efectos, capa).
esto queda asi:
spriteBatch.Draw(nave, posicionNave,
new Rectangle(0, 0, nave.Width, nave.Height),
Color.White, rotacion, new Vector2(nave.Width / 2,
nave.Height / 2), 1.5f, SpriteEffects.None, 0);
El objeto rotacion sera el que manipularemos:
float rotacion = 0.0f;
Aplicando como en elejemplo de movimiento de teclas en el hola mundo, ontonces rotamos al momento de hacer lelf , right con las teclas:
if (tecla == Keys.Left)
{
rotacion -= ((float)gameTime.ElapsedGameTime.TotalSeconds) * 3f;
}
if (tecla == Keys.Right)
{
rotacion += ((float)gameTime.ElapsedGameTime.TotalSeconds) * 3f;
}
El gameTime ha sido sacado del mismo proceso en que estamos, asi que no le busques mucho sentido a este codigo ya q solo es un para mover el frame a una cierta velocidad considerable.
Ontonces supongamos que nuestro objeto esta dividido en dos mitades , la mitad de la izquierda la dejamos para valores mayores a 1 y la otra mitad para valores menores que 1, osea si el objeto rotacion valiese 0.5 nos encontrariamos quenuestroobjeto se mueve hacia la derecha. En caso contrario hacia la izquierda.
Eso es todo, espero volver con mas info de movimientos de sprites, hasta luego.
Archivo












Comentarios recientes