void set_color( uchar color, rojo, verde, azul )
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.
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 255 (máximo).
rojo // Componente roja del color. verde // Componente verde del color. azul // Componente azul del color.
A continuación se muestra un programa que modifica de forma aleatoria los colores de la paleta.
int color, r, g, b; MAIN_PROGRAM_CDIV BEGIN_PROGRAM set_gfx(GFX_AUTODETECT_WINDOWED); set_mode(m320x200); load_fpg("../help.fpg"); put_screen(1, 2); LOOP{ color=rand(1,255); r=rand(0,255); g=rand(0,255); b=rand(0,255); set_color(color, r, g, b); // Se redefine un color de la paleta FRAME; } END_PROGRAM
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()