En la pestaña "Archivo", apartado "Varios", encontrará opciones para configurar e imprimir el contenido de la ventana de simulación. Esto mismo podrá hacerse igualmente por programa si desea dar esta opción al usuario final de la aplicación.
EDICIÓN DE ELEMENTOS EN DOS DIMENSIONES.
Se crean con las opciones de la fila superior de la paleta de herramientas. Cuando se pulsa una de estas opciones, la propia paleta muestra un mensaje de ayuda y activa o desactiva las opciones de la fila inferior dependiendo del tipo de elemento. A continuación se reproduce la imagen de la paleta y el significado de sus opciones.
La paleta de herramientas presenta las coordenadas del cursor del ratón como ayuda para posicionar puntos o elementos, el número y nombre del componente seleccionado y del elemento seleccionado. Si el componente deja de tener utilidad y se quiere borrar, existe un botón para ello en la pestaña de edición. Borrar un componente no significa que se elimine del disco, solo deja de existir en la aplicación. Para borrar cualquier archivo debe hacerse desde el sistema, no desde AutoJava. Se recuerda que el número de pasos de todo componente es por defecto 10 y se cambia desde la pestaña de edición escribiendo nuevo valor y pulsando ENTER. Para determinadas operaciones se utiliza con frecuencia el teclado y aunque se muestran mensajes indicando las teclas válidas y su función, se reproduce a continuación la finalidad de las teclas de uso más frecuente:
Elementos que se construyen pulsando y arrastrando el ratón:
Basta con pulsar el botón del elemento deseado y a continuación pulsar y arrastrar el ratón sobre el panel de simulación. Si el tamaño no resulta el correcto se podrá ajustar con un punto de control que tendrá el elemento en su esquina inferior derecha y si la posición no es correcta se moverá el elemento pulsando y arrastrando fuera de todos los puntos de control.
Los elementos que se costruyen de esta forma son los 6 primeros de la paleta. En la siguiente imagen se ha representado un rectángulo vacío al que se han modificado diversas opciones: Cambio de grosor de linea desde la pestaña de edición (posible solo en la versión 1.3, no en la 1.0), cambio de unión de lineas, uniones con un radio que se define moviendo uno de los puntos de control, paso de linea continua a linea de trazos (ajuste de longitud de trazos con deslizadores en la pestaña de edición), asignación de gradiente desde la pestaña de edición (los colores que se mezclan son el de fondo y el de gradiente, la dirección se define moviendo los puntos de control de color verde) y por último, variación de la opacidad al 55%. Los elementos parcialmente transparentes dejan ver, parcialmente, el contenido que tengan debajo. La transparencia solo funciona en la versión 1.3, no en la 1.0.
De estos 6 tipos de elementos, el rectángulo vacío y la elipse vacía se podrán utilizar como recortes de otros elementos, excepto en versión 1.0 donde solo funcionan como recorte los rectángulos vacíos. Los rectángulos rellenos y las elipses rellenas no aplican los gradientes a la linea de contorno sino a su relleno. La linea de contorno de cualquier forma rellena se podrá eliminar haciendo su color coincidente con su color de relleno. El cambio de color se consigue marcando en la pestaña de edición una de las siguientes opciones: Color de linea o texto, color de relleno o fondo y color de gradiente (el gradiente solo funciona con versión 1.3, no en la 1.0.). Una vez marcada la opción deseada, bastará con ajustar los deslizadores de color entre sus límites 0 a 255 y no es necesario pulsar ningún botón para aceptar porque el cambio se actualiza de forma continua a medida que se mueva cualquier deslizador de color.
En el caso de los botones, el grosor de linea afecta a la anchura del contorno que simula el relieve. Todo botón simula automáticamente su pulsación y en la programación se puede consultar si el botón es pulsado y si el ratón se encuentra sobre el botón. Esto es necesario en el caso de botones para poder tomar la decisión de ejecutar alguna acción cuando se pulsa un botón, pero esta característica también funciona con cualquier otro tipo de elemento, excepto los sonidos porque, lógicamente, no se pueden pulsar. Por último, el rectángulo con relieve invertido simula un hundimiento en lugar de un contorno saliente y no simula su pulsación. El color de los botones se modifica de igual forma que en los demás tipos de elementos, incluso es posible aplicar un gradiente.
Elementos de sonido:
Cuando se pulsa el botón para crear uno nuevo aparece una ventana para buscar un archivo de sonido. Una vez encontrado y aceptado comenzará a sonar repetidamente mientras el componente siga en el paso actual. El sonido podrá ejecutarse o detenerse en el paso actual del componente pulsando la tecla D. Cambiando de paso se podrá decidir si se ejecuta o no en cada uno de ellos, de igual forma que otros elementos gráficos se dibujan o se ocultan. Suponiendo que un componente se utilice como una presentación, cada paso será equivalente a una página de dicha presentación. Cuando llega un paso con un sonido activo veremos los contenidos visibles en ese paso a la vez que escuchamos el sonido. Por programa es posible ejecutar los sonidos una sola vez o de forma repetida, detenerlos y cambiar el archivo de sonido por otro diferente, incluso se tendrá la posibilidad de programar que sea el usuario quien busque el archivo de sonido que prefiera. También es posible ejecutar simultáneamente varios sonidos. En la versión 1.0 solo son válidos los sonidos en formato "au", que es natural de Java. En la versión 1.3 son válidos los archivos de extensión "au", wav", "mid", "rmf" y "aif". Posiblemente, los tipos de sonido más conocidos son los de formati mid, wav y au. El sonido au tiene similares características al wav, ambos reproducen sonidos reales como pueda ser la voz, pero tienen el inconveniente de necesitar un gran volumen de datos para contener solo unos pocos segundos de sonido. El sonido mid es solamente música generada con sintetizadores, siendo su volumen de datos mucho más reducido aunque con el inconveniente de reproducir únicamente música sintetizada.
Polilineas:
El primero de los botones representados en la siguiente imagen está dividido en dos partes. Pulsando en la zona izquierda se crea una polilinea abierta y pulsando en la zona derecha se crea una malla. Las mallas son superficies en tres dimensiones y se deja su construcción para el siguiente apartado. Las polilineas abiertas también permiten la construcción de mallas basándose en una generatriz que gira alrededor de un eje o siguiendo una trayectoria, pero de momento nos centraremos en las formas planas. Para crear una nueva polilinea se comienza pulsando el botón y a continuación se pulsa y arrastra el ratón sobre el panel de simulación para posicionar los dos primeros puntos. Para añadir nuevo punto se pulsa la tecla ENTER y la siguiente pulsación del ratón fijará el nuevo punto. La figura contiene un ejemplo de polilinea abierta y otra cerrada y rellena, que han sido fragmentadas con el punto 1 seleccionado y convertidas a curva en el punto 3.
Como sucede con las formas rectangulares, las polilineas comparten un grosor de linea ajustable, linea continua o de trazos, cambio de color y gradiente, transparencia, tipos de unión entre lineas y conversión a curva (en polilineas independiente para cada punto). Por programa se podrá comprobar si se pulsan con el ratón o si se coloca encima. Las polilineas abiertas tienen una característica adicional: La terminación de linea, que puede ser truncada, redondeada o en ángulo a 90º. Durante la edición, cada punto puede ser movido con el ratón de forma individual o mover toda la polilinea si se pulsa y arrastra fuera de todos los puntos de control. Un punto se borra seleccionándolo previamente y pulsando la tecla DEL, excepto los dos primeros puntos, que no pueden ser borrrados. Fragmentar polilineas hace posible dibujar múltiples lineas y formas con un solo elemento, siempre y cuando todas ellas deban tener el mismo color y en el caso de tener movimiento se moverán todas a la vez. El dibujo de formas cerradas con agujeros se consigue con una sola polilinea cerrada y rellena, fragmentándola y superponiendo uno de los fragmentos sobre la forma, ya que los fragmentos superpuestos se anulan entre sí en las zonas superpuestas.
Elementos de texto:
Se comienzan pulsando su botón y aparece un cuadro para introducir un texto. Una vez aceptado se pulsará y arrastrará el ratón para fijarlo y dimensionarlo. El tamaño se ajusta automáticamente a medida que se arrastra el ratón. El texto hueco es más bien artístico y forma parte de los elementos asignables como recorte, excepto en la versión 1.0. El texto lleno contiene un fondo que en ocasiones será de utilidad para resaltar el texto y definir la zona pulsable, ya que como cualquier elemento, excepto los sonidos, es sensible al ratón. Comparten las características de cambio de color (de texto y fondo en este caso) y transparencia y lógicamente, tienen la característica propia de cambio de fuente de texto, que se define desde la pestaña de controles de edición con el botón "Cambiar fuente"
Los elementos de texto lleno tienen otras funciones, entre las que son de mayor utillidad la presentación de informaciones en pantalla y como elementos para introducción de datos. Si se destinará a presentar información que no pueda modificar el usuario, debería hacerse "no editable" pero si servirá para entrada de datos debería hacerse "editable". El cambio entre ambos modos se consigue pulsando la tecla E. Se puede pensar que en ocasiones un mismo texto sirviera para ambos fines (editar y presentar datos), lo que es perfectamente practicable si se controla por programa cuándo será editable y cuándo no lo será. Cuando se pulsa un texto editable se muestra automáticamente un cuadro para modificar el contenido o escribir otro nuevo, sin necesidad de programarlo. Dicho cuadro contiene botones para aceptar o cancelar. El contenido de un elemento de texto podrá ser tratado como texto o como valor numérico, por lo que sirve para ambos fines el mismo tipo de elemento.
Elementos de imagen:
Cuando se comienza un elemento de imagen se pregunta si se desea asignar una imagen por defecto. En caso de contestar SI, un cuadro de búsqueda permitirá seleccionar un archivo de imagen. Una vez aceptado el archivo aparecerá en pantalla y se podrá mover con el ratón y escalar como si se tratara de un rectángulo. En caso de no asignar una imagen por defecto, el elemento será similar a un rectángulo pero con linea roja de trazos. En un programa, cualquier elemento de imagen puede funcionar como un recorte que reciba como imagen la zona que cubra de la pantalla. Admite cambio de imagen de forma que un solo elemento podrá mostrar una tras otra cualquier imagen asignada por programa o por el usuario.
Los formatos de imagen admitidos son "gif" y "jpg", ambos de uso muy frecuente en la mayoría de las páginas web. Seguramente, todos los programas de manipulación de imágenes admiten estos formatos, por lo que suele ser una tarea sencilla convertir una imagen a uno de estos formatos. El formato "gif" admite pocos colores, de forma que si no son necesarios muchos, es el formato ideal para conseguir un archivo de imagen muy pequeño tamaño. El número de colores suele ser 2, 16 o 256. Otra característica del formato gif es que un color se puede hacer transparente, esto se aplica para imágenes que parecen recortadas cuando se proyectan sobre otros contenidos, ya que se han creado con un contorno del color transparente, que desaparece cuando se visualiza la imagen. Una característica más del formato gif es que un solo archivo de imagen puede contener una animación como las que aparecen frecuentemente en páginas web y que son fáciles de encontrar en internet para descargar en nuestro equipo. Algunos programas están especializados en generar animaciones gif, o gifs animados como se suelen llamar en internet. AutoJava no crea gifs animados (solo los visualiza) pero a cambio ofrece una flexibilidad mucho mayor, ya que un gif animado es solamente una proyección ordenada e invariable de fotogramas. El formato "jpg" admite una compresión variable, de forma que si es muy elevada se reduce mucho el tamaño del archivo pero la imagen pierde mucha calidad. Se consiguen en este formato imágenes con una calidad relativamente buena y un tamaño de archivo suficientemente pequeño, por lo que es posiblemente el formato más interesante cuando los archivos deben transmitirse por la red para reducir el tiempo de transmisión, pues todos sabemos lo desagradable que resulta esperar hasta que una página web presenta sus contenidos, aunque solo sean unos cuantos segundos.
Áreas de texto:
Las áreas de texto tienen numerosas funciones, tales como simples contenidos textuales, como listados de datos de texto, de valores numéricos o de puntos que podrán ser modicados por programa o editados por el usuario, como opciones pulsables con el ratón, ya que devuelven información sobre el número de dato que sea pulsado, como elementos de intercambio de información, ya que pueden cargarse con los datos de otro área de texto o de archivos guardados en el disco y pueden escribir sus datos en archivos. Entre programas de un mismo proyecto, existe un área de texto compartido en el que cualquier otro área puede escribir y leer, de esta forma, es posible intercambiar información entre varios programas que estén ejecutándose a la vez.
Para comenzar un área de texto se pulsa su botón y se mostrará un mensaje preguntando si se utilizará cuadro de edición. Si se contesta SÍ, significa que el cuadro de edición se podrá poner a disposición del usuario para una libre edición del contenido del área de texto. Si se contesta NO, significa que el usuario no podrá editar libremente el contenido, sino solamente escribir nuevo contenido en los segmentos del área de texto, sin poder borrarlos ni cambiarlos de posición. Una vez que se responde a la pregunta, solo falta pulsar en la posición en la que comenzar a escribir y se mostrará el cuadro de edición.
Pulsando el botón para mover texto, éste se desplazará al pulsar y arrastrar el ratón desde la posición del cursor, para escribir de nuevo hay que pulsar el botón "escribir texto". Todo el contenido es dividido en "segmentos", cada uno de los cuales podrá tratarse en el programa como texto, número o coordenadas de puntos. Para representar un punto, se escribirán las dos coordenadas separadas por una coma, por ejemplo: 34,485 o bien 34.3,12.9 (cada coordenada puede ser entero o real). El cambio de fuente de texto ha de hacerse desde la pestaña de controles de edición, así como la asignación de color. Estos cambios afectan al segmento seleccionado por el cursor, cuyo número se indica en el cuadro de edición. Si finalizamos su edición cerrando el cuadro de edición, los cambios de color y fuente de texto afectarán en conjunto al área de texto completo, excepto a los segmentos que ya tengan una asignación particular.
Transformaciones geométricas:
Las trayectorias, rotaciones y escalados se construyen por puntos de forma similar a las polilineas, pero la finalidad es bien distinta. Estos elementos se pueden asignar a otros para obligarlos a seguir un recorrido, hacerlos girar o escalarlos de forma dinámica. Cada punto representa un paso, de forma que al cambiar de paso, los elementos que lo tengan asignado sufren el correspondiente incremento en desplazamiento, rotación o escalado. Las asignaciones se realizan desde la pestaña de controles de edición, donde existe una lista con los elementos asignables al que esté seleccionado (también pueden asignarse a un componente completo). En la figura vemos los tres tipos de transformaciones y el efecto que causarían en un rectángulo a medida que el paso avanza.
Los elementos con una trayectoria asignada siguen un recorrido paralelo a la trayectoria, partiendo de la posición en que hayan sido dibujados. Las escalas se representan con un cuadrado rojo cuya anchura equivale a escala 1:1 en horizontal y su altura equivale a escala 1:1 en vertical. La posición que demos a un punto o paso de la escala define un rectángulo que guarda una proporción en horizontal y en vertical con el cuadrado rojo, que se corresponden con los factores de escala. El punto 0 es el punto al que todo converge a medida que los factores de escala disminuyen. El punto 0 de una rotación será el centro de giro y los demás definen un ángulo con el punto 0. A medida que el paso cambie, los elementos con la rotación asignada irán girando. En cualquier transformación, si se mueve el punto rojo que define el paso actual se comprueba directamente el efecto que causa, de esta forma podremos ajustar toda la progresión ajustando cada punto de la transformación. Por programa hay dos formas de controlar una transformación: variando su paso o manteniendo constante el paso pero moviendo el punto que corresponda al paso seleccionado.
Una transformación puede asignarse a otra, por ejemplo una rotación a una trayectoria que a su vez haya sido asignada a un rectángulo. El efecto sobre el rectángulo será un movimiento complejo, resultante de la superposición de los efectos, equivalente a algo que se desplaza sobre una plataforma que gira. El efecto puede ser aún más complicado si desplazamos al componente completo, ya que su desplazamiento afecta a todo su contenido, además el propio componente admite una transformación de otro componente, de modo que el encadenamiento puede ser tan profundo como queramos.