Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: osk on August 16, 2009, 02:56:11 PM

Title: ¿b_nocolorkey no me funciona?
Post by: osk on August 16, 2009, 02:56:11 PM
Hola.
Tengo una duda sobre map_xput y su constante b_colorkey.
En el código que os paso adjunto, cargo una imagen de 32 bits con transparencia (que la llamo "contrans.png"), genero en memoria una imagen igual pero sin transparencia (con map_xput y el flag b_colorkey) y la grabo en disco llamándola "sintrans.png". Yo tenía entendido que si le quitas la transparencia, deberían salir a la vista todos los píxeles (anteriormente invisibles) pintados de negro.
Pero no, la imagen final continúa teniendo las mismas zonas transparentes -al menos, visualmente- que la original. ¿Es el comportamiento correcto y soy yo el que anda errado? ¿O hay algún detalle que se me escapa?

Gracias!

P.D: Por otro lado, otra duda rápida que no tiene nada que ver: ahora en 32 bits, ya que gozamos de transparencia, no sería necesario utilizar para nada drawing_alpha en el dibujado de primitivas transparentes, ¿verdad?. Con drawing_color y rgba ya bastaría, no? Venga, gracias otra vez.
Title: Re: ¿b_nocolorkey no me funciona?
Post by: SplinterGU on August 16, 2009, 04:28:11 PM
el b_colorkey significa que el grafico se copia sobre otro tal cual es, sin hacer transparencias con respecto al fondo... esto es... si en grafico destino tenemos un pixel de "color A" y en el grafico source tenemos un pixel (para esa misma posicion) "color transparente/semi-transparente", al hacer el put, en esa posicion vamos tener el mismo pixel de "color transparente/semi-transparente".
resumiendo:

normal  (con transparencia)
destino = destino + source

normal  (sin transparencia)
destino = source

b_colorkey  (con o sin transparecia)
destino = source

con respecto al drawing_alpha, no... porque el drawing_alpha no invalida el alpha del pixel, sino que actua sobre este (incrementa el alpha del pixel)
Title: Re: ¿b_nocolorkey no me funciona?
Post by: osk on August 16, 2009, 10:04:43 PM
Muchísimas gracias!