10.07.2015 Views

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

[ebook]Programacion de videojuegos con SDL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

P R O G R A M A C I Ó N D E V I D E O J U E G O S C O N S D Lvoid ResetTimeBase() {ini_milisegundos=<strong>SDL</strong>_GetTicks();}int CurrentTime() {fin_milisegundos=<strong>SDL</strong>_GetTicks();return fin_milisegundos-ini_milisegundos;}La función ResetTimeBase() utiliza la función <strong>SDL</strong>_GetTicks para almacenar eltiempo en milisegundos transcurridos <strong>de</strong>s<strong>de</strong> la inicialización <strong>de</strong> <strong>SDL</strong>. Este valor, esutilizado por la función CurrentTime() para calcular cuantos milisegundos hantranscurrido <strong>de</strong>s<strong>de</strong> la llamada a ResetTimeBase(). El procedimiento <strong>de</strong> <strong>con</strong>trol es elsiguiente. Al principio <strong>de</strong>l game loop realizamos una llamada a ResetTimeBase() parainicializar el <strong>con</strong>tador. Al finalizar el game loop utilizamos el siguiente código.do {frametime=CurrentTime();} while (frametimew;rectangulo.h=ttext->h;<strong>SDL</strong>_SetColorKey(ttext,<strong>SDL</strong>_SRCCOLORKEY|<strong>SDL</strong>_RLEACCEL, <strong>SDL</strong>_MapRGB(ttext->format,255,0,0));<strong>SDL</strong>_BlitSurface(ttext,NULL,screen,&rectangulo);Este código no necesita <strong>de</strong>masiada explicación. Simplemente comentar que utilizamosla función sprintf() para pasar el valor <strong>de</strong> la puntuación, que es <strong>de</strong> tipo int, a unaca<strong>de</strong>na <strong>de</strong> texto tipo char.El número <strong>de</strong> vidas se va a mostrar al jugador <strong>de</strong> forma gráfica <strong>con</strong> pequeñosavioncitos. Tantos como vidas tengamos. Este código dibuja los avioncitos (almacenadosen el sprite life) cada 22 píxeles.// Dibuja las vidas <strong>de</strong>l jugadorfor (i=1 ; i

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!