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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

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 LAmbas funciones <strong>de</strong>vuelven un puntero a un tipo TTF_Font. No es necesario queentremos en <strong>de</strong>talle sobre su estructura interna, ya que nos vamos a limitar a pasar estepuntero a las funciones encargadas <strong>de</strong> realizar el pintado <strong>de</strong>l texto. El primer parámetro es elfichero a cargar (una fuente ttf). El segundo es el tamaño <strong>de</strong> la fuente. En la segunda función,tenemos a<strong>de</strong>más un parámetro adicional que es la fuente que queremos usar en caso <strong>de</strong> queel archivo ttf <strong>con</strong>tenga más <strong>de</strong> un tipo <strong>de</strong> letra. Cuando hayamos terminado <strong>de</strong> utilizar la fuentehemos <strong>de</strong> cerrarla <strong>con</strong> la siguiente función.void TTF_Close(TTF_Font *font)La función requiere poca explicación. Simplemente pasamos como parámetro la fuente quequeremos cerrar.El proceso <strong>de</strong> dibujar el texto en una superficie se llama ren<strong>de</strong>r. Hay un total <strong>de</strong> 12funciones <strong>de</strong>dicadas a este fin. Vamos a ver sólo 3 <strong>de</strong> ellas por ser las más habituales.<strong>SDL</strong>_Surface * TTF_Ren<strong>de</strong>rText_Solid(TTF_Font *font, <strong>con</strong>st char *text,<strong>SDL</strong>_Color fg)<strong>SDL</strong>_Surface * TTF_Ren<strong>de</strong>rText_Sha<strong>de</strong>d(TTF_Font *font, <strong>con</strong>st char *text,<strong>SDL</strong>_Color fg, <strong>SDL</strong>_color bg)<strong>SDL</strong>_Surface * TTF_Ren<strong>de</strong>rText_Blen<strong>de</strong>d(TTF_Font *font, <strong>con</strong>st char *text,<strong>SDL</strong>_Color fg)Básicamente son iguales. Lo único que las diferencia es la calidad <strong>con</strong> la que esren<strong>de</strong>rizado en texto. La primera función es la que ofrece menor calidad, y la última laque más. A mayor calidad, mayor tiempo necesita la función para realizar su cometido.Estas funciones <strong>de</strong>vuelven un puntero a una superficie que <strong>con</strong>tiene el texto dibujado. Elparámetro font es un puntero a una fuente ya abierta <strong>con</strong> TTF_OpenFont oTTF_OpenFontIn<strong>de</strong>x. El parámetro text es la ca<strong>de</strong>na <strong>de</strong> texto que queremos imprimiren la pantalla. El parámertro fg es el color <strong>de</strong> la fuente y bg es el color <strong>de</strong> fondo.Obsérvese que los colores se pasan a la función en formato <strong>SDL</strong>_Color. Antes <strong>de</strong> ver unejemplo completo <strong>de</strong>l uso <strong>de</strong> <strong>SDL</strong>_ttf, vamos a ver un par <strong>de</strong> funciones que pue<strong>de</strong>nsernos <strong>de</strong> utilidad.int TTF_GetFontStyle(TTF_Font *font)int TTF_SetFontStyle(TTF_Font *font, int style)Estas funciones permiten <strong>con</strong>ocer y seleccionar el estilo <strong>de</strong> texto que <strong>de</strong>seemos. Losposibles estilos son TTF_STYLE_BOLD para estilo negrita, TTF_STYLE_ITALIC, paraestilo itálica, y TTF_STYLE_UNDERLINE para estilo subrayado. El estado normal esTTF_STYLE_NORMAL.El siguiente programa es un ejemplo <strong>de</strong> uso <strong>de</strong> <strong>SDL</strong>_ttf.63

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

Saved successfully!

Ooh no, something went wrong!