Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problemas con transparencias allegro

Iniciado por Hackergamer, 10 de Septiembre de 2014, 03:21:12 PM

« anterior - próximo »

Hackergamer

Buenos días, antes que nada un saludo.
Tengo un problema al querer quitar el fondo de un sprite, cuando compilo mi programa no se quita el fondo de mi sprite, se supone que el fondo lo puse fucsia para que perdiera el fondo pero no pasa nada.
Ya use la función draw_sprite() pero no se quita el fondo.
Espero alguien me pueda ayudar.
Gracias !

•Parra

#1
No tengo ni idea sobre allegro, pero dale un vistazo a esto:

https://www.allegro.cc/manual/5/al_convert_mask_to_alpha

Sino puedes hacerlo a mano, iterando sobre los pixeles. Cual es la estructura donde guardas los pixeles?

Si el ARGB esta representado como 4 bytes separados..

if (tex.r == 0xFF && tex.g == 0x00 && tex.b == 0xFF)
    tex.a = 0x00; // no recuerdo si era 0 o 255 para el alpha, creo que 0

Si cada pixel esta representado como un entero de 32 bits:

if ((tex & 0x00FFFFFF) == 0x00FF00FF)
    tex = 0x00FF00FF;

Suponiendo que la representacion es ARGB. El and inicial lo hago para menospreciar el color alpha inicialmente y solo comprobar el colorkey.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.