FANDOM


Uint32 GetPixel()

Devuelve el color que posee un pixel, el cual es indicado por las coordenadas X,Y de una imagen.


struct BMF BMF_load(char *path);

Carga una imagen la cual debe contenter las letras de la A la Z, estando estas separadas entre si por un pixel azul. Al cargar la imagen, mediante el pixel azul, se guarda en una estructura la posición x donde comienza y ancho que tiene cada letra.

void BMF_Write(struct BMF bmp_font,char *c, int x, int y)

Lee una cadena de carecteres, y dibuja la letra correspondiente a cada carácter.

Sus argumentos son:

  1. struct BMF bmp_fonts: Indica la fuente cargada que queremos usar.
  2. char *c: Un puntero a una cadena la cual se escribira usando la fuente.
  3. int x e int y: Indican el pixel donde se empezará a dibujar el texto.
void BMF_Write(struct BMF bmp_font,char *c, int x, int y)
{
	int iA,iB;
	char l = 'a';
	char r;
	draw_rect.x = x;
	draw_rect.y = y;
	
	for (iA=0; c[iA]; iA++)
	{
		for (iB = 0; iB<29; iB++)
		{			
			if ((l+iB)==c[iA])
			{
				rect.h = bmp_font.surface->h;
				rect.x = bmp_font.x[iB];
				rect.w = bmp_font.w[iB];
				SDL_BlitSurface(bmp_font.surface,&rect,screen,&draw_rect);
				draw_rect.x += bmp_font.w[iB];
				break;
			}
		}		
	}
}

En esta función lo que hacemos es ir leyendo la cadena de caracteres hasta llegar a su caracter nulo.

Antes que nada hay que comentar que las imagenes de las letras se encuentran ordenadas en un array siendo la la letra [0] la A y la letra [26] la Z.

Si embargo la letra A equivale al caracter ASCII 65, por esto hacemos

if ((l+iB)==c[iA])
	draw_rect.x += bmp_font.w[iB];

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.