void set_trans_depth( unsigned char profundidad )
Descripción:
Especifica lo translucidos que han de ser las imágenes que cuyo proceso tenga la variable "flags" en modo transparente, por defecto será 127 que es un 50% de transparencia, la profundidad va desde 0 a 255 (invisible a opaco).
En modos de 8 bits deberá llamar a esta función antes de cargar la paleta de colores, en caso de no hacerlo así dicha función no tendrá efecto hasta que de vuelva a cargar dicha paleta.
En modos superiores a 8 bits la llamada a esta función tendrá efecto inmediato cambiando lo translucidos de todos las imágenes inmediatamente.
MAIN_PROGRAM_CDIV
PRIVATE
int i;
BEGIN_PROGRAM
set_gfx(GFX_AUTODETECT_WINDOWED);
set_trans_depth( 127 );
set_mode(m320x200);
load_fpg("../help.fpg");
x = 160;
y = 100;
graph = 100;
flags = 4;
put_screen(1, 1);
write (0, 0, 0, 0, "[ ESCAPE ] para salir.");
LOOP
FRAME;
END_PROGRAMEn este ejemplo vemos como se inicializa la profundidad de translucidez del sistema antes que se carga una paleta gráfica esto es necesario en modos de 8 bits.
MAIN_PROGRAM_CDIV
PRIVATE
int i;
BEGIN_PROGRAM
set_depth(16);
set_gfx(GFX_AUTODETECT_WINDOWED);
set_mode(m320x200);
load_fpg("../help.fpg");
x = 160;
y = 100;
graph = 100;
flags = 4;
put_screen(1, 1);
write (0, 0, 0, 0, "[ESPACIO] para apagar y encender imagen.");
LOOP{
if( key(_space) )
{
for( i = 255; i > 0; i -= 20 )
{
set_trans_depth( i );
FRAME;
}
for( i = 0; i < 256; i += 20 )
{
set_trans_depth( i );
FRAME;
}
}
FRAME;
}
END_PROGRAMEn el ejemplo vemos como al pulsar la tecla espacio, el proceso se transparente y se oscurece, si hubiese más de un proceso con el "flags" de transparencia les sucedería lo mismo.
Ver: set_fps() - m320x200 ... m1024x768