put()

put(<fichero>, <gráfico>, <x>, <y>)

Descripción:

Pone un gráfico en el fondo de la pantalla. La función requiere el código de fichero en el que está el gráfico, el código del gráfico dentro del mismo fichero y las coordenadas (x, y) en las que se desea poner el gráfico.

Los gráficos cargados con las funciones load_map() o load_pcx() (o creados con new_map()) se utilizarán como si pertenecieran al primer fichero (el fichero con el código 0).

Si no se especificó el centro del gráfico (estableciendo su punto de control número 0 desde la herramienta de dibujo), las coordenadas se referirán a la posición de pantalla en la que se situará el centro del gráfico.

Los gráficos impresos de esta forma en el fondo de la pantalla estarán en la visualización del juego por debajo de todos los procesos, regiones de scroll, textos, etc.

Si se desea que un gráfico esté por encima de otros se debe crear como un nuevo proceso y fijar su variable z con la prioridad de impresión del mismo.

Para borrar el fondo de la pantalla se debe utilizar la función clear_screen().

Programa ejemplo:
PROGRAM ejemplo_put;

PRIVATE
    fichero1;
    coord_x;
    coord_y;

BEGIN
    fichero1=load_fpg("help\help.fpg");
    LOOP
        coord_x=rand(0, 319);
        coord_y=rand(0, 199);

        put(fichero1, 100, coord_x, coord_y); // Se pone el gráfico 100.

        FRAME;
    END
END


En el ejemplo se carga el fichero con los gráficos y en cada iteración de bucle se pone el gráfico número 100 (una bola) con la función put() en coordenadas aleatorias (elegidas al azar con la función rand()).


Si el gráfico que se quiere poner es simplemente una pantalla de fondo, resulta más sencillo utilizar la función put_screen(), ya que ésta no requiere las coordenadas de pantalla pues centrará el gráfico en la misma de forma automática.


La función xput() es una versión un poco más compleja de la función put() pero con muchas más posibilidades, ya que permite, además, poner gráficos rotados, escalados, espejados y transparentes.

Para poner un gráfico en otro (en lugar del fondo de la pantalla) se deben utilizar las funciones map_put() o map_xput().


Ver: put_screen() - xput() - map_put() - map_xput() - put_pixel()