[ebook]Programacion de videojuegos con SDL
[ebook]Programacion de videojuegos con SDL
[ebook]Programacion de videojuegos con SDL
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 LCapítulo4Librerías auxiliares para <strong>SDL</strong>El uso <strong>de</strong> las faculta<strong>de</strong>s que me <strong>con</strong>cedió la naturaleza es el único placer que no <strong>de</strong>pen<strong>de</strong> <strong>de</strong> laayuda <strong>de</strong> la opinión ajena.Ugo Foscolo.Afortunadamente, a<strong>de</strong>más <strong>de</strong> las funciones que forman la librería <strong>SDL</strong>, po<strong>de</strong>mos<strong>con</strong>tar <strong>con</strong> una serie <strong>de</strong> librerías externas que nos van a ayudar bastante a lahora <strong>de</strong> programar nuestro juego. Las cuatro librerías auxiliares más habitulesson <strong>SDL</strong>_image, <strong>SDL</strong>_mixer, <strong>SDL</strong>_ttf y <strong>SDL</strong>_net. En el juego <strong>de</strong> ejemplo <strong>de</strong> estelibro utilizaremos <strong>SDL</strong>_mixer para la reproducción <strong>de</strong>l sonido y la música, y <strong>SDL</strong>_ttf parael manejo <strong>de</strong> fuentes <strong>de</strong> letra. <strong>SDL</strong>_net es una librería que nos permite la <strong>con</strong>exión are<strong>de</strong>s TCP/IP, y es utilizada para crear juegos multijugador en red. <strong>SDL</strong>_image es unacuriosa librería <strong>con</strong> una única función, que nos permite trabajar <strong>con</strong> múltiples formatosgráficos.<strong>SDL</strong>_ttfEs muy posible que hayas echado <strong>de</strong> menos alguna función en <strong>SDL</strong> para escribir texto enla pantalla gráfica. La librería <strong>SDL</strong>_ttf nos permite, básicamente, dibujar el texto que <strong>de</strong>seemosen una superficie utilizando la fuente <strong>de</strong> letra que queramos. La fuente <strong>de</strong> letra tiene que seren formato ttf (true type font). Como ya viene siendo habitual, lo primero que tenemos quehacer es inicializar la librería.int TTF_Init(void)Esta función <strong>de</strong>volverá 0 si se realizó correctamente la inicialización y –1 en caso <strong>con</strong>trario.Como algún avispado lector ya habrá supuesto, la función inversa tiene la siguiente forma:void TTF_Quit(void)Al no recibir ni <strong>de</strong>volver esta función ningún valor, es una candidata perfecta para utilizarlajunto <strong>con</strong> la función atexit().El siguiente paso es abrir la fuente que queremos utilizar, es <strong>de</strong>cir, cargarla <strong>de</strong>s<strong>de</strong> disco.Las dos siguientes funciones nos permiten abrir una fuente <strong>de</strong> letra.TTF_Font * TTF_OpenFont(<strong>con</strong>st char *file, int ptsize);TTF_Font * TTF_OpenFontIn<strong>de</strong>x(<strong>con</strong>st char *file, int ptsize, long in<strong>de</strong>x)62