set_mode(<nuevo modo de vídeo>)
Descripción:
Fija un nuevo modo de vídeo para la ejecución del juego. Los modos de vídeo estándar que se pueden especificar como parámetro son:
m320x200 - VGA estándar
m320x240 - Modo X
m320x400 - Modo X
m360x240 - Modo X
m360x360 - Modo X
m376x282 - Modo X
m640x400 - SVGA VESA
m640x480 - SVGA VESA
m800x600 - SVGA VESA
m1024x768 - SVGA VESA
Nota: Además de estos modos (que suelen ser estándar en la mayoría de adaptadores), existe una estructura global denominada video_modes que contiene la lista de modos VESA detectados en el adaptador de vídeo del sistema. Estos modos también pueden ser utilizados con la función set_mode().
Al realizarse un cambio de modo de vídeo en el programa se realizará automáticamente un fundido a negro (de la paleta de colores del programa) y en las siguientes visualizaciones del juego se irá restaurando gradualmente la paleta de colores, es decir, set_mode() realiza siempre un fade_off() justo antes de cambiar el modo de vídeo y un fade_on() justo después de haberlo cambiado.
Por defecto todos los programas comienzan con el modo de 320 por 200 puntos activado (set_mode(m320x200)).
PROGRAM ejemplo_set_mode; PRIVATE modos[]= m320x200, m320x240, m320x400, m360x240, m360x360, m376x282, m640x400, m640x480, m800x600, m1024x768; modovideo=0; BEGIN load_fpg("help\help.fpg"); write (0, 0, 0, 0, "Pulse [ESPACIO] para cambiar el modo de vídeo"); LOOP IF (scan_code==_space) modovideo=modovideo+1; IF (modovideo==10) modovideo=0; END set_mode(modos[modovideo]); END FRAME; END END
En el ejemplo se pone un fondo de pantalla y un texto explicativo.
En la iteración del bucle principal, si se pulsa la barra espaciadora, se activará un nuevo modo de vídeo con la función set_mode().
Importante: Al utilizar la función set_mode() se eliminarán todas las ventanas de scroll y de modo 7 que estuvieran activas en el juego y todos los procesos que se estuvieran visualizando en ellas.