Читать книгу Processing - Tomás Domínguez Mínguez - Страница 23
4.4 TEXTOS
ОглавлениеLa forma más fácil de escribir un mensaje de texto es hacerlo en la consola del IDE. Es probable que sea algo que use con frecuencia durante la depuración de programas utilizando el conocido comando println(). Pero Processing es un entorno gráfico y, por lo tanto, también permite mostrar texto en la ventana como si de un elemento gráfico más se tratara. Para ello dispone del comando:
El primer argumento es la cadena de caracteres que se pretende mostrar y x, y las coordenadas del punto a partir del que se va a «dibujar» dicho texto.
NOTA. A diferencia de Arduino, en el que para escribir un mensaje en el monitor serie debe utilizar Serial.println(texto), en Processing únicamente es necesario poner println(texto).
Un texto tiene una serie de propiedades básicas que también podrán especificarse, entre las que destacan:
* Color
* Tamaño
* Fuente
Para modificar el color de un texto utilice la función fill(). Su uso es idéntico al ya explicado para rellenar figuras geométricas, por lo que todo lo dicho allí es válido para los textos.
Para modificar el tamaño de un texto utilice el comando:
En el que el argumento tamaño se indica en píxeles.
Para especificar la fuente de un texto utilice el comando:
El argumento de la función es la fuente a utilizar por un texto, que deberá ser de tipo PFont. Opcionalmente, puede añadirle un segundo argumento con el tamaño.
Para obtener la lista de fuentes disponibles en el sistema utilice el siguiente código:
Verá algo similar a lo siguiente:
NOTA. En Arduino la sintaxis que declara un array es:
en vez de la utilizada en Processing:
Como se acaba de indicar, las fuentes que asigne a un texto son del tipo PFont, que han debido ser creadas previamente con el comando:
Vea un ejemplo para entenderlo mejor. En el siguiente código se define la variable miFuente de tipo PFont, a la que se asigna la fuente «Arial» (una de las que vienen incluidas en el entorno) con un tamaño de 20 píxeles. Una vez creada la fuente, se indica a Processing que la utilice para escribir el texto «Programar reduce el colesterol» (es broma) en la posición (50, 50).
El resultado obtenido es el siguiente:
Si no le gusta el aspecto que tiene, y quiere que el texto se muestre de color negro, más grande y con una tipografía en negrita, puede sustituir el código anterior por este otro:
El texto en negrita con un tamaño mayor se consigue con la sentencia createFont(“Arial Bold”, 32). El color negro del texto se obtiene con la sentencia fill(0), situada antes de escribir la frase. Ahora el resultado sería el siguiente:
NOTA. Las fuentes también pueden estar contenidas en archivos «.vlw». Si tuviera que utilizar una fuente que estuviera en uno de dichos archivos, tendría que guardarlo en el sketch folder del programa y, en vez de emplear la función createFont(), usaría loadFont(nombre del archivo).
En Processing también puede alinear los textos. Para ello, utilizará los comandos:
Los valores que tomarán dichos argumentos serán:
* Alineación horizontal: LEFT, CENTER o RIGHT.
* Alineación vertical: TOP, BOTTOM o CENTER.
Imagine que quisiera situar el texto del ejercicio anterior en una ventana mayor, dejándolo completamente centrado, tal como se muestra a continuación:
Solo habría que modificar el código de la siguiente forma:
El principal cambio introducido en el código es el uso de la sentencia textAlign(CENTER, CENTER) en el bloque setup(), encargada de centrar horizontal y verticalmente el texto en la ventana.
Para finalizar, completará el emoticono que le ha acompañado a lo largo de toda esta sección con un mensaje.
El código utilizado para ello es el siguiente:
En el bloque setup() se ha añadido la sentencia textAlign() para centrar el texto horizontal y verticalmente sobre el punto de referencia que utilizará posteriormente en la sentencia text(). Con la función textSize() establecerá el tamaño de la fuente de dicho texto en 30 píxeles.
En el bloque draw() escribirá el texto en la parte inferior central.