start_fli()

start_fli(<nombre de archivo>, <x>, <y>)

Retorna:

Número de imágenes de la animación.

Descripción:

Inicia una animación FLI/FLC contenida en el archivo especificado, en las coordenadas (x, y) (se debe especificar la coordenada superior izquierda de la ventana de visualización).

En el <nombre de archivo> se puede especificar la ruta de acceso, no siendo ésta necesaria si el archivo se encuentra en el directorio de DIV Games Studio o en un subdirectorio cuyo nombre coincida con la extensión del archivo (por ejemplo, "fli\anima.fli").

La animación debe coger por completo en pantalla, es decir, si la animación ocupa toda la pantalla, se debe fijar primero el modo de vídeo con la función set_mode() y después iniciar con start_fli() la animación en las coordenadas (0, 0).

La función devuelve, a título informativo, el número de fotogramas de los que consta la animación completa.

El sistema activará automáticamente las paletas de color que pudiera tener la animación FLI/FLC, lo que puede presentar problemas en la representanción de otros gráficos o fuentes del programa, si éstos hubieran sido dibujados con una paleta diferente.

Si se pretenden combinar otros gráficos con la animación en pantalla, ésta debe tener una única paleta de color (lo que se suele denominar "palette low FLI/FLC") y los gráficos se deben haber dibujado con esa misma paleta.

Una vez iniciada la animación se irán mostrando los fotogramas de la misma con respectivas llamadas a frame_fli().

Sólo es posible tener una animación activa en cada momento, por lo que después de haberse iniciado una animación con start_fli() y haberse visualizado con frame_fli(), se debe finalizar ésta con la función end_fli() antes de iniciar otra animación diferente.

Programa ejemplo:
PROGRAM ejemplo_start_fli;
BEGIN

    start_fli("help\help.fli", 0, 0); // Se inicia una animación.

    LOOP
        frame_fli();
        FRAME;
    END
END


En el ejemplo se inicia la animación contenida en el archivo help\help.fli con la función start_fli() en las coordenadas (0, 0) y se ejecuta esta animación indefinidamente.


La función frame_fli() utilizada para mostrar cada fotograma devolverá 0 cuando la animación haya finalizado, por lo que para mostrar la animación una sola vez se debería haber hecho:

Programa ejemplo:
PROGRAM ejemplo_start_fli;

PRIVATE
    valor;

BEGIN
    start_fli("help\help.fli", 0, 0);
    REPEAT
        valor=frame_fli();
        FRAME;
    UNTIL (valor==0);
    end_fli();
END


La función reset_fli() permite rebobinar la animación, para que la función frame_fli() continúe ejecutándola desde el principio.


Ver: end_fli() - reset_fli() - frame_fli()