MetaCard y Revolution: Herramientas de autor multiplataforma para multimedia | ||
---|---|---|
Anterior | Capítulo 1. MetaCard | Siguiente |
Por si acaso todavía no ha instalado el MetaCard en este momento está a punto de iniciar un breve viaje por los elementos que componen MetaCard para familiarizar al usuario delante de la herramienta, describir sus elementos y funciones y que conozca algunas posibilidades de la misma. El orden en que se muestran los diferentes elementos que componen la aplicación es el mismo en que podrá verlos aparecer en pantalla en cuanto ejecute su propia copia de MetaCard como la ventana de presentación que aparece mientras se realiza la carga de la aplicación y que puede verse en la Figura 1-1.
Quiero hacer notar dos cosas: se utilizará la Starter Kit para la realización de todos los ejemplos de este textoy la versión que he utilizado es la 2.4, aunque la 2.5 tiene cosas muy interesantes está terminando su proceso de fase de pruebas ("beta"); así que, a menos que se diga lo contrario, no será la versión utilizada.
Tiene la sencilla apariencia que muestra la Figura 1-2. Con cuatro opciones en su parte inferior que vamos a visitar en un momento. Bueno, en realidad, lo que aparece en la figura es la apariencia que tiene mi versión de MetaCard, puesto que como ya veremos se deja modificar al gusto del usuario y en la parte superior izquierda hay dos pequeños iconos de aplicaciones que uso habitualmente en mis desarrollos junto a un nuevo botón (que ahora no recuerdo que hace ahí).
Este es el corazón de la aplicación: el que interpreta el lenguaje MetaTalk. Es el soporte necesario, en tiempo de ejecución, de aquellas aplicaciones que cree. En el caso de las aplicaciones de carácter gráfico es cargado en memoria en el momento de inciar el primero de sus componentes y, el entorno, está concebido como una aplicación más. De hecho hablaremos de investigar acerca de cómo está implementado e incluso introducir sus propias preferencias o modificaciones.
El lenguaje se puede utilizar como se hace uso de otros lenguajes interpretados: es decir, invocándolo desde ficheros para que realice las órdenes que contiene. Así que también podrá hacer uso del lenguaje como otro más de los que contiene su mochila de programador, en ese caso lo que no puede es hacer uso de los elementos de naturaleza visual del entorno.
Lo usual, dentro del entorno es crear aplicaciones, para lo cual es casi inmediata la necesidad de abrir la paleta de herramientas, opciones y controles. Esta se situa en su propia ventana denominada MenuBar, que puede observarse en la Figura 1-3. Este es el gran centro de control de la aplicación, que no le despiste su simplicidad: hay muchas cosas ahí detrás.
Para esbozar las posibilidades la siguiente somera enumeración de sus opciones de menú, puede ayudar a componer la imagen global. No tenga la necesidad de aprenderse ahora mismo todas estas y de dónde aparecen, el uso hace esto la parte más fácil.
De la opción File, decir que es el punto incial para cargar una aplicación existente o para crear una nueva. Contiene las típicas opciones que ya habrá visto en otros programas. La curiosidad es quizá la opción de Import..., veremos como no es una opción recomendable cargar los ficheros de imágenes, audio o vídeo con la aplicación, pero sin mayor complicación ya puede "recortar" un pedazo de la pantalla y aparecerá en la aplicación que esté creando.
El caso de la opción Edit es todavía más previsible que el anterior, hace uso de la nomenclatura propia de MetaCard así que de momento tampoco debe preocuparnos más, ya la irá visitando.
Es la opción Tools la que oculta un mayor número de herramientas que ya se irán haciendo patentes con el uso. La figura Figura 1-4 muestra estas desplegadas sobre el escritorio, puediendo observar los cinco apartados en que se divide esta opción.
La entrada Text del menú estará deshabilitada hasta que no haya creado un control de texto y esté poniéndolo a prueba en ejecución, le permitirá decorar el texto, cosa que será útil en las aplicaciones que necesiten muchos efectos puntuales y visuales en estos componentes.
De la última, el Help o la ayuda, decir que permite acceder a los components de documentación que incorpora la propia aplicación. Coincide con la del mismo nombre del HOME. Únicamente mencionaré que la sintaxis del lenguaje y las órdenes (funciones y propiedades) disponibles, estan siempre a mano en este apartado, así pues lo único necesario es perder el miedo a navegar por ella.
Entre todas estas cabe destacar el uso del "Control Browser" que permite ver los controles o componentes de una tarjeta de la pila escojida y nos informará de su estado: en cuanto a líneas de código, orden de apilamiento (el que decide cuando coinciden dos controles cuál está situado encima del otro) y si está visible o no. Todas estas circunstancias son modificable con los botones que hay en su parte inferior junto a ayuda sobre el propio funcionamiento de esta paleta de controles. También es interesante tener a mano la ayuda en línea para no tener que memorizar demasiada información relativa al lenguaje de programación, volveremos sobre ella en la la sección de nombre La ayuda y la documentación.
Para tener una visión global de la aplicación (pila) que se esté construyendo o examinando, podrá recurrir a la paleta de Components a la que se puede acceder desde las propiedades de la pila.
De izquierda a derecha, los controles de la parte inferior de la "Menu Bar" permiten iniciar el modo de ejecución (browse) y pasar al modo de edición (pointer). Así como también la construcción de los elementos que componen el interfaz de la aplicación de forma visual con los siguientes controles:
button, para introducir botones.
field, para crear un campo de texto.
scrollbar, que creará una barra de desplazamiento.
image, es un contendor para imágenes de tipo mapa de bits.
player, es un contenedor de propósito variado donde se puede asignar desde una secuencia de vídeo a un fichero de audio. Este tipo de control tiene asociado una aplicación externa que es la encarga de reproducir el fichero en cuestión.
Los últimos seis controles pertenecen al tipo graphic permiten la inclusión de primitivas gráficas de carácter variado, debido a la abierta naturaleza de este tipo de gráficos vectoriales lo que se proporciona es una serie elementos característicos como polygon, curve, rectangle, oval, roundrect y regular.
La tarjeta de visita, la "demo", es una sencilla clase de caracter ameno que le guiará por los contenidos de esta herramienta y por la forma de trabajar con ella, sin perder tiempo en la realización de los elementos de naturaleza visual que utiliza. En cuanto pueda, ejecute por lo menos la primera parte de esta demostración (puede ver una instantánea de esta en la Figura 1-5) y disfrútelo.
Esta demostración está compuesta por dos grandes apartados Beginner para aquellos que se acercan a MetaCard por primera vez o bien aquellos que tengan poca experiencia en el manejo de una herramienta de autor y Advanced para los que ya han utilizado una herramienta de este estilo. Ambas aproximaciones permiten ver:
Qué es MetaCard; qué elementos lo componen, cómo se puede distribuir las aplicaciones realizadas con ella y unos apuntes sobre sus capacidades
Cómo realizar una presentación utilizando esta herramient; desde el uso de los controles que incorpora hasta una breve introducción al lenguaje de programación que incorpora.
Ejemplos de realización; una agenda con calendario que se puede ver cómo se ha realizado.
Figura 1-5. La "demo" en ejecución. Capturas del índice y del mapa de contenidos de la aplicación (en la primera fila) y dos ejemplos de la ejecución (en la segunda fila) .
Cuando tenga un poco más de tiempo véala al completo, le mostrará incluso algunos de los secretos (bueno, entonces ya no lo serán) y de cómo echarle un vistazo al código de la misma. De momento tendrá que contentarse con las instantáneas de la Figura 1-6) de la propia aplicación.
La ayuda está condensada en un pequeño panel de opciones que se muestra en la Figura 1-7 y que permite acceder a una panoplia de "armas" que le vendrá bien tener a mano durante sus desarrollos.
Los contenidos de este "directorio" como reza en el título de la ventana y que puede ver en la Figura 1-8 son:
Los tutoriales de MetaCard para empezar dentro de la propia aplicación. Haremos uso de los dos primeros en las dos siguientes secciones.
La guía del usuario, el Concepts & Techniques.
El manual del programador o MetaTalk Reference.
Los ejemplos de utilización en el MetaTalk Examples.
El Dialog Box Help guarda la explicación de cada una de las herramientas y paletas incluídas en MetaCard.
El Index, que permite la opción de búsqueda ordenada de funciones, propiedades, órdense y eventos.
Y, para cerrar esta enumeración, la opción para incorporar a licencia de MetaCard y la opción de enviar un correo para acceder, desde la propia aplicación, al soporte técnico que ofrece la compañía.
Figura 1-8. Los contenidos de la ayuda desplegados: ejemplos de los diferentes puntos donde se propone acudir.
De todos estos elementos, cabe destacar la importancia de poder disponer siempre a mano del índice. Este muestra ordenados alfabéticamente los nombres de funciones, propiedades y eventos disponibles en el lenguaje y a los que se puede acceder de forma manual o introduciendo en el control de texto de la parte superior la parte del nombre del que se anda buscando y dejando que sea MetaCard el que actualize el contenido del campo inferior para mostrarnos los que se corresponden con la cadena de texto que se está tecleando. A partir de ahí se puede acceder a la página de ayuda correspondiente. Desde esta se puede comprobar su sintaxis, significado, algún ejemplo y, lo más interesante, órdenes y otros elementos relacionados con el que ha dado pie a la búsqueda.
Esta es la herramienta imprescindible para trabajar con MetaCard, a pesar de su simpleza de apariencia que se puede ver en la captura que muestra la Figura 1-9. En su interior, un campo de texto espera a que se teclee una línea de caracteres, de forma que al pulsar Enter se se ejecutará por MetaCard esta línea como si fuese una del código de un objecto de una aplicación en ejecución. Existe un "histórico" de órdenes tecleadas, así que con el cursor puede recuperar y editar rápidamente una orden anterior.
Figura 1-9. Message Box: el banco de pruebas rápido y el lugar más cómodo donde dejar mensajes mientras se desarrolla.
¿Qué se puede hacer? Se puede ejecutar desde ella cualquier orden de MetaTalk en cualquier momento. Sólo cabe recordar que no hay ningún recuerdo de lo que ha ejecutado en la orden anterior, así que las variables tienen una corta existencia. Por ese motivo es un sitio ideal para, por ejemplo:
Comprobar la sintáxis o el funcionamiento de una orden sin necesidad de crear una aplicación para ello:
put "Hola, Mon!"
Acciones puntuales:
move this stack rel 0,30
Observe que la acción realizada se lleva a cabo sobre la ventana activa, por lo que facilita la comprobación o actuación sobre los elementos de la aplicación que se está construyendo
Comprobaciones o acciones rápidas y puntuales de órdenes que involucran el uso de variables
put "hola, Mon!" into varAux; put varAux
Acciones repetitivas de ordenación de parámetros de definción de una serie de objetos en pantalla
repeat with i = 1 to the number of fields; set the height of field i to 20; end repeat
Alterar la secuencia habitual de mensajes que desencadena una aplicación para poder editar y corregir un comportamiento
lock messages; go to next card
Tiene todo el potencial de MetaCard, así que puede hacer acciones "algo más complejas"
answer information "Tria un fitxer"; put url ("file:" & it)
Por supuesto, si es necesario la puede incluir en su aplicación, como una componente más o reinventándola: simplemente es un campo de texo, el mecanismo para guardar el histórico de órdenes y la ejecución del texto introducido mendiante la orden do.
El Script Editor es la herramienta para la edición de código dentro del entorno de MetaCard Se puede acceder a él desde las propiedades de cualquier objeto y también desde el "Control Browser". La Figura 1-10 muestra un ejemplo del mismo en acción mostrando el código de la "Menu Bar" que ha sido ejecutado desde la "Message Box" con la instrucción:
edit the script of stack "MetaCard Menu Bar"
Figura 1-10. El editor integrado de MetaCard con la característica de colorear el código activaa (Tools|Colorize Script).
Las opciones del editor son las propias para retocar y facilitar la inserción de código. Están agrupadas en las secciones:
Edit, para las típicas operaciones de deshacer, cortar, pegar, seleccionar. Y las no tan usuarles pero bastante útiles de comentar o descomentar una selección del texto.
Go, permite ir a una linea y cuando haya código le permitirá avanzar directamente hasta la línea donde empieza el que elija de la lista (construída en tiempo de ejecución) por el editor.
Messages que ejecuta la pila "MC card Messages Menu" que ofrece una lista de posibles eventos que se pueden definir en el punto de inserción actual.
Control Structures, facilita la generación de nuevas estructuras propias del lenguaje MetaTalk como: exit, if-then, next, pass, repeat forever, repeat for, repeat until, repeat while, repeat with, return, switch y try-catch.
Commands, Functions y Properties proponen (mediante la ejecución de las pilas "MC Commands Menu", "MC Functions Menu" o "MC stack Properties Menu") una lista de, respectivamente, órdenes, funciones y propiedades que se pueden utilizar en el punto actual de edición del código.
Tools, reune una serie de herramientas de las que le recomiendo Colorize Script. Pero por supuesto Vd. debe escoger entre el más rápido uso del teclado para hacer búsquedas y reemplazos o las correspondientes opciones de este menú. Así como de Lookup Selection... que se puede realizar con el botón secundario del ratón sobre la palabra deseada. Es su tiempo, así que es su decisión.
La opción de colorear el código facilita su lectura y, también, la detección de errores en la escritura del mismo, para ello se utiliza la codificación que guarda la "Menu Bar" (mctools.mc) y que es: "blue" para las instrucciones, "brown" para funciones globles, "DarkOrange" para las componentes de las estructuras de control y "red" para las propiedades.
En cualquier momento de la escritura del código se puede hacer uso de los botones que hay en la parte inferior de la ventana del editor, de acuerdo a:
OK, que analiza sintácticamente el código y, en caso de ser correcto, actualiza el código del objeto y cierra la ventana del editor. Si hubiesen errores aparecerá una pequeña ventana contándole algunas cosas al respecto como (casi) el qué y el dónde se ha producido el primer error..
Cancel, cierra la ventana sin analizar ni actualizar el código.
Apply, es el más útil en el proceso de edición, por que como el OK comprueba y actualiza, pero no cierra el editor.
Help, para acceder a la ayuda al respecto del propio editor.
Puede que se encuentre con un mensaje como el de la figura Figura 1-11, donde se está mostrando parte del código de la pila "Menu Bar", obtenido con la instrucción que muestra la misma figura ejecutada desde la "Message Box". Recuerde que estamos trabajando sobre la versión Starter Kit y este es el aviso de que estamos intentado asignar (con Apply u OK) un código de más de diez instrucciones (que no líneas de código) a un objeto[1]. Lo que no impide es su inspección y el aprendizaje que se puede derivar de esta actividad.
Figura 1-11. Mensaje de aviso del Starter Kit: sólo se pueden utilizar 10 instrucciones en el código de un objeto.
Los atajos de teclado de su sistema están disponibles en las opciones de edición, aunque tendrá más libertad si conoce las típicas de Emacs para buscar, marcar, cortar y pegar.
En sistemas UNIX se puede asignar un editor externo, indicándolo en la opción de menú Tools o de manera directa en la pestaña External Editor de las Tools|Preferences de la "Menu Bar"".
[1] | Si hay remedio para esto y todavía no lo ha visto, le recuerdo que uno de los remedios era comprar la licencia y actualizar con la misma su versión. La otra viene de la mano de utilizar un código más compacto y meditado. |