Ayuda de Div Games Studio/xput()

Sintaxis Editar

xput(<fichero>, <gráfico>, <x>, <y>, <angle>, <size>, <flags>, <region>)

Descripción Editar

Versión avanzada de la función put() para poner un gráfico en el fondo de la pantalla. Esta función requiere, por orden, los siguientes parámetros:

  • <fichero> código del fichero con la librería de gráficos que contiene a ambos. Los gráficos cargados con la función load_map() se utilizarán como si pertenecieran al primer fichero (el fichero con el código 0).
  • <gráfico> código del gráfico dentro del fichero que se va a imprimir en pantalla.
  • <x>, <y> coordenadas relativas a pantalla donde se desea poner el gráfico. Estas coordenadas se refieren a donde se situará el centro del gráfico (o el punto de control} número 0, en caso de estar definido).
  • <angle> ángulo (en milésimas de grados) en el que se imprimirá el gráfico; el ángulo normal es 0.
  • <size> tamaño (en porcentaje) en el que se imprimirá el gráfico; el tamaño normal es 100.
  • <flags> Indica los espejados y transparencias con los que se imprimirá el gráfico; los posibles valores son:
    • 0 Gráfico normal.
    • 1 Espejado horizontal.
    • 2 Espejado vertical.
    • 3 Espejado horizontal y vertical (180ø).
    • 4 Gráfico transparente.
    • 5 Transparente y espejado horizontal.
    • 6 Transparente y espejado vertical.
    • 7 Transparente, espejado horizontal y vertical.
  • <región> Número de región (ventana dentro de la pantalla) en la que se debe imprimir el gráfico; normalmente este valor será 0 para poder imprimir el gráfico en cualquier posición de la pantalla. Para definir una región se debe utilizar la función define_region().

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().

Ejemplo Editar

PROGRAM ejemplo_put;

PRIVATE
    fichero1;
    coord_x;
    coord_y;
    ángulo1;
    tamaño1;
    flags1;
BEGIN
    archivo1=load_fpg("help\help.fpg");
    LOOP
        coord_x=rand(0, 319);
        coord_y=rand(0, 199);
        ángulo1=rand(-pi, pi);
        tamaño1=rand(10, 200);
        flags1=rand(0, 7);

        // Se pone el gráfico 101
        xput(archivo1, 101, coord_x, coord_y, ángulo1, tamaño1, flags1, 0);

        FRAME;
    END
END

En el ejemplo se carga el archivo con los gráficos y en cada iteración de bucle se pone el gráfico número 101 (un triángulo) con la función xput() en coordenadas aleatorias (elegidas al azar con la función Ayuda de Div Games Studio/rand()), con un ángulo y un tamaño también aleatorio, con el valor de flags aleatorio y en la región número 0 (pantalla completa).

La función put() es una versión simplificada de la función xput() de utilidad cuando no se quiera rotar, escalar, espejar o imprimir con transparencias el gráfico.

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

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.

Ver también Editar