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_PROGRAM

En 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_PROGRAM

En 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