Cómo debo programar una explosion si tengo 5 sprites (por ejemplo) ????
porque si dada la situacion en que debe aparecer la explosion, pongo los sprites sin intervalo de tiempo no se puede apreciar la explosion...
como puedo hacer para establecer un tiempo entre cada sprite ??
gracias
Deberás tener control sobre los FPS de tu juego.
Para controlar el paso del tiempo es tan fácil como tener un contador.
Yo para cada frame de cada secuencia de cada animación que tengo, le doy un retraso (delay) en milisegundos (por defecto 100) y entonces en mi clase SpriteAnimado tengo el siguiente método que llamo cada frame:
SpriteAnimado::actualizar(tiempoActual)
{
SI (tiempoActual - tiempoDelUltimoCambioDeFrame > retrasoFrameActual)
siguienteFrame();
}
Tan fácil como eso.
Colson que contador utilizas que sea independiente de la plataforma?
Yo utilizo el QueryPerformanceFrequency pero creo que es del api Win32 sino me equivoco. Estoy buscando uno "multiplataforma" :)
Yo uso el KMiscTools::getMilliseconds() de
PTK, la librería multiplataforma que uso :)
SDL también tiene un contador para abstraer el s.o.
Y soporta muchos muchos sistemas.