Ayuda de Div Games Studio/write()

De Wikilibros, la colección de libros de texto de contenido libre.

Sintaxis[editar]

write(<fuente>, <x>, <y>, <código de centrado>, <texto>)

Retorna[editar]

El código identificador del texto que se ha escrito.

Descripción[editar]

Esta función es la utilizada para mostrar un texto alfanumérico en pantalla; para ello requiere los siguientes parámetros:

  • <fuente> El código de la fuente o tipo de letra que se va a utilizar. Aquí se debe poner un 0 cuando se quiera utilizar la fuente del sistema (fuente de color blanco, pequeña, de 6 por 8 puntos), o bien el código de fuente} devuelto por la función load_fnt() cuando se carga una nuevo fuente en el programa.
  • <x>, <y> Las coordenadas relativas a pantalla en las que se va a imprimir el texto, primero en el eje horizontal y después en el vertical.
  • <código de centrado> Es un código que determina la posición del texto que se especifica en las coordenadas anteriores. Sus valores son:
    • 0 Arriba izquierda
    • 1 Arriba
    • 2 Arriba derecha
    • 3 Izquierda
    • 4 Centro
    • 5 Derecha
    • 6 Abajo izquierda
    • 7 Abajo
    • 8 Abajo derecha
Por ejemplo, si se escribe un texto en las coordenadas 160, 0 y con el código de centrado 1 (Arriba), entonces se centrará el texto en la columna 160 y se imprimirá de la línea 0 hacia abajo. O si se quiere un texto en la esquina superior izquierda, se debe imprimir en las coordenadas 0, 0 y con código de centrado 0 (Arriba izquierda).
  • <texto> Como último parámetro se especificará texto a escribir como un literal, es decir, un texto entre comillas (Ver los símbolos delimitadores de literales).

El texto impreso permanecerá en pantalla hasta que se borre con la función delete_text(), que requiere como parámetro el código identificador que devuelve write().

Para imprimir el valor numérico de una variable (como pudiera ser la puntuación del jugador) se debe utilizar función write_int().

Los textos permanecerán inalterados en pantalla aunque se impriman gráficos en la misma o pasen gráficos de procesos por delante o por detrás de los mismos.

Ejemplo[editar]

PROGRAM ejemplo_write;

PRIVATE
    fuente1;

BEGIN
    fuente1 = load_fnt("help\help.fnt");

    write(0, 160, 100, 4, "Texto de ejemplo con la fuente del sistema.");
    write(fuente1, 0, 0, 0, "ARRIBA IZQUIERDA");
    write(fuente1, 320, 200, 8, "ABAJO DERECHA");

    LOOP
        FRAME;
    END
END

En el ejemplo anterior se carga la fuente contenida en el archivo help.fnt con la función load_fnt() (cuyo código de fuente se guarda en la variable fuente1), y después se escriben tres textos:

  1. El primero con la fuente del sistema (0), situándose en las coordenadas 160, 100 (centro de la pantalla) el centro del texto (código de centrado 4).
  2. El segundo con la fuente cargada (cuyo identificador de fuente se tiene almacenado en la variable fuente1), situándose en las coordenadas 0, 0 la esquina superior izquierda del texto (código de centrado 0).
  3. Y, por último, el tercer texto, también con la fuente cargada, situándose en las coordenadas 320, 200 la esquina inferior derecha del texto (código de centrado 8).

Tras esto el programa se quedará esperando indefinidamente dentro de un bucle.

El plano de profundidad en el que aparecen los textos escritos se controla mediante la variable global text_z, que sirve para regular qué gráficos se deben ver por encima de los textos y cuáles por debajo.

Los textos podrán, luego, moverse hasta otra posición si es necesario utilizando la función move_text(), que también requiere como parámetro el código identificador que devuelve write().

Cuando se utilicen fuentes cargadas de archivos FNT debe estar activada la paleta de colores que se ha utilizado para generar dichas fuentes (ver load_pal()) pues, de lo contrario, los colores pueden aparecer cambiados, visualizándose el texto incorrectamente.

Ver también[editar]