Ver Mensaje Individual
  #4  
Antiguo 27-10-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Reputación: 19
xEsk Va por buen camino
Hola,

Imagino que te refieres a este SDL xD

Los Sprites
Los sprites, son "dibujos" independientes. En tu caso, por poner un ejemplo, cada letra seria un sprite. Este debe conocer su posición y dibujo.

Motor de Sprites
Su tasca principal, es conocer todos los sprites que se deben mostrar por pantalla, y pintarlos. ¿Cómo sabemos que sprites hay que pintar primero? Pues por su orden de profundidad (campo Z).
Así pues, lo primero que tenemos que pintar es el fondo (que no deja de ser otro sprite), porque todo va a estar por encima del fondo. Luego hay que pintar los sprites, empezando por los que estan "mas lejos" y terminando, por los que estan delante de todo.

Te pongo un ejemplo sencillo abstracto:

Código:
Clase Sprite {
  x,y,z;
  dibujo;  // lo que seria el SDL_Surface por ejemplo
}

Clase MotorSprites {
  lista de Sprites;
  pintar_sprites(); // metodo que pinta todos los sprites
}
El DoubleBuffering
El DoubleBuffering, consite en tener 2 imagenes, que se muestran de forma intercalada. ¿Que ganamos haciendo esto? Pues evitar el parpadeo. El parpadeo ocurre por la lentidud de volcado en pantalla. El porqué el DoubleBuffering no provoca parpadeo (o una menor sensación de parpadeo, porqué existe también el TripleBuffering xD), es porqué mientras estamos mostrando una imagen, por "detras" estamos generando lo que sera la siguiente imagen.

------------

Es complicado explicarlo, sin entrar en temas tecnicos. Mi intención es explicarte la teoria, para que puedas montartelo como mas te guste.

------------

Mi recomendación, es primero montarte el sistema de Sprites. Cuando ya te funcione, puedes mejorarlo, implementando la tecnica del DoubleBuffering.
Responder Con Cita