set_color()

set_volume(<color>, <red>, <green>, <blue>)

Descripción:

Redefine un color de la paleta. Esta función sirve para modificar las componentes de un color concreto de la paleta del juego.

Se debe tener cuidado con ella, pues todos los gráficos de pantalla que utilicen dicho color se verán afectados, para modificar los colores de un sólo gráfico se debe utilizar la función convert_palette().

El <color> debe ser un número entre 0 y 255. Las componentes del color se especificarán como números entre 0 (mínimo) y 63 (máximo).

  <red> - Componente roja del color.
  <green> - Componente verde del color.
  <blue> - Componente azul del color.

A continuación se muestra un programa que modifica de forma aleatoria los colores de la paleta.

Programa ejemplo:
PROGRAM ejemplo_set_color;
GLOBAL color,r,g,b;
BEGIN
    load_fpg("help\help.fpg");
    put_screen(0, 2);
    LOOP
        color=rand(1,255);
        r=rand(0,63);
        g=rand(0,63);
        b=rand(0,63);

        set_color(color, r, g, b); // Se redefine un color de la paleta

        FRAME;
    END
END


En el ejemplo se pone como fondo una pantalla multicolor y dentro del bucle principal del programa se modifican al azar las componentes de un color cualquiera de la paleta cuando esté pulsada la barra espaciadora. Para obtener números al azar se utiliza la función rand().


Para modificar toda la paleta, es preferible cargar ésta de un archivo con la función load_pal().


Para realizar otros efectos de paleta, se puede utilizar la función roll_palette() que permite realizar ciclos de color, o la función fade() que permite realizar múltiples fundidos y saturaciones de color a diferentes velocidades.


Ver: roll_palette() - load_pal() - fade() - fade_off() - fade_on()