SoloCodigo
Programación Específica => Programación de Videojuegos => Allegro => Mensaje iniciado por: BeT0 en Domingo 30 de Noviembre de 2003, 07:34
-
como hago que un bitmap tenga transparencia en allegro??
-
con las funcioens draw_sprite, draw_rle_sprite, blid, masked_blit..
lo que pasa es que debes probar con cuales te sirve y con cuales no, por defecto allegro oma como color transparente este:
R=255
G=0
B=255
Tal vez haya una manera de decitle que toe otro color como transparente pero no la he utilizado.
-
Depende de a que profundidad de color estes trabajando(puedes cambiarlo usando set_color_depth() ), si estas usas 256 colores tu bitmap debe tener el fondo negro (R 0, G 0, B 0), si trabajas en truecolor (de 15 bits en adelante) debe tener el fondo rosa brillante (R 255, G 0, B 255), y para dibujarlo simplemente usa draw_sprite(); o masked_blit(); recuerda que el bitmap que quieres dibujar y el bitmap donde quieres dibujar deben tener la misma profundidad de colores, esto es, si estas dibujando en el bitmap SCREEN usando 16 bits tu bitmap debe ser de 16 bits.
Espero me hayas entendido.
Saludos, Juan.
-
Habeis respondido bastante bien pero os habeis dejado en el tintero el caso en el que queramos que un bitmap sea semitransparente, como un cristal tintado o algo asi. Aunque hace siglos que no uso allegro y no recuerdo muy bien todo cambia si usas un modo de 256 colores(con su correspondiente paleta de colores) o mayor que 15 bits.
Seguro que en la ayuda de allegro encuentras respuesta para este caso, incluso para el caso de los 256 colores(aunque algo limitada)
-
deben usar bitmaps de 32 bit u otras variantes que permitan el uso el canal alpha, y desde luego tener los bitmapas ya hechos con esas transparencias.