La verdadera potencia de MacroMedia Director consiste en la posibilidad de interactuar
nosotros mismos con la película
Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.
MarcoMedia Director nos presenta una
serie de opciones que nosotros podemos elegir para "ver" el trozo de película que nos interesa
(en una película convencional, esto no es posible: nos sentamos en la butaca del cine y vemos
toda la película de un tirón, sin posibilidad de ver primero el final, luego el beso de mitad de
película, luego nuevamente el final y después los títulos del principio).
Para realizar esto con Director necesitamos "parar" la película en determinados momentos.
Esto se realiza de muy diversas maneras:
- La forma más sencilla es a través de la opción "Wait for a Mouse Click or Key"("Espera
hasta que se haga click con el ratón o se pulse una tecla") que se encuentra en la
opción "Set Tempo" (en la ventana del Score, arriba del todo, en el icono del reloj). Esta
instrucción paraliza la aplicación hasta que el usuario final pulsa el botón del ratón o
cualquier tecla del teclado. Pero aquí acaba la posibilidad de interactuar con esta opción.
Suele utilizarse para menús o pantallas de ayuda o de presentación que requieren la
conformidad del usuario para avanzar (son las típicas, p.e., en que aparece el mensaje
"Clic para continuar").
- La otra forma de paralizar el desarrollo secuencial de la película es mediante scripts
(pequeños programas en Lingo) en los frames: Haciendo doble click en la celda del
frame que nos interesa, nos aparece una ventana en la que vamos a escribir el script
correspondiente para que la acción se pare en ese frame. Existen varios para hacer eso.
Los más usados son, básicamente:
on exitFrame
pause
end
y
on exitFrame
go to the frame
end
Una vez escrito uno u otro, pusamos la tecla Enter (la del teclado numérico) para que Director
compruebe si hemos metido la pata a la hora de escribirlo o no, y se cierre la ventana,
añadiendo el script al cast. En el primer caso, la acción simplemente se detiene ("pause", como
en el aparato de vídeo). En el segundo caso, la acción no se detiene: abandona ese frame y
vuelve a él (digamos que ejecuta un Loop en ese frame).
Ahora que ya tenemos detenida la
acción en el frame que nos interesa, vamos a poner cosas en esa pantalla que añadan
interactividad a nuestra aplicación. La forma más elemental de hacerlo es poniendo botones
que luego "programaremos" para que hagan una cosa u otra.Sin embargo, MacroMedia Director
permite la programación orientada a objetos al 100%; esto es, cualquier elemento de la
pantalla es susceptible de ser programado (esto no sucede con otras aplicaciones de pseudoprogramación
orientada a objetos, como HyperCard, en la que las imágenes no se pueden
programar).
Como podemos programar cualquier cosa que pongamos en esa pantalla (en ese
frame), lo más normal es poner imágenes (copiando/pegando o importándolas en la ventana
del Cast) y programar estas imágenes para que actúen como si fuesen botones.
En una aplicación genérica como la que estamos describiendo, lo que nos va a interesar
principalmente es que al hacer click en ese botón/imagen "saltemos" a una secuencia
determinada de la movie, que no tiene por qué ser el frame inmediatamente siguiente.
Esto se puede hacer básicamente de dos formas:
- Programando el botón para que mande la aplicación a un frame determinado, por ejemplo al
13. Esto se haría poniendo el siguiente script en el botón (para que aparezca la ventana de
script para el botón, lo seleccionamos en la ventana del Cast y pulsamos en el icono de "script"
que hay en ella.
script:
on mouseUp
go to frame 13
end
En castellano, esto querría decir: "Cuando levantes el dedo del ratón -después de pulsar, se
entiende-, ves al frame 13". También podemos hacer que se salte 3 frames, por ejemplo, y que
luego continúe normalmente la movie. En este caso, el script sería:
on mouseUp
go to (the frame + 3)
end
Esta solución no siempre es buena; si por cualquier razón se han borrado o añadido frames
antes del 13 (en el primer caso) o entre el frame en el que estamos y los tres siguientes (en el
segundo caso), la secuencia que teníamos prevista ya no empieza en ese frame y se nos
desbarata la aplicación. Para evitar estos problemas, tenemos la otra solución:
- Usando "Markers" ("marcadores"). Un "Marker" es, igual que en un aparato de vídeo
convencional, una señal que ponemos nosotros para indicar que en ese frame pasa algo
"especial" (por lo general, va a indicar el comienzo de una secuencia). Para crear un "marker"
basta con pulsar en el pequeño triángulo negro colocado entre el menú de scripts y los canales,
y arrastrarlo hasta el frame deseado.
Una vez hecho esto, aparece un cursor parpadeante a su
derecha. En este lugar, escribimos el nombre que se le quiera dar. Como se puede escribir
cualquier nombre, lo más lógico será poner uno que resulte de fácil y rápida identificación. Otra
forma de realizar esto es posicionarnos en el frame que queremos que tenga un marker y
seleccionar el ítem "Markers" del menú "Window".
Entonces escribimos el nombre que le vamos
a dar y pulsamos "Enter" (teclado numérico). Esta otra opción nos permite, además, añadir
algún comentario al marker (escribimos el nombre, pulsamos Return - teclado de letras- y
escribimos el comentario.
A efectos prácticos, ambas soluciones son idénticas. A partir de este momento, cada vez que
nos refiramos a este frame le llamaremos "curriculum". De este modo, si se quiere enviar la
aplicación a este frame el script del botón correspondiente sería:
on mouseUp
go to frame "curriculum"
end
Con esto, ya hemos visto las opciones que nos van a permitir parar la secuencia de una movie,
hacer botones y cómo programarlos para que "salten" por la aplicación. A continuación veremos
algunos scripts muy usados en la programación de interactivos. Para terminar, decir que es
buena idea que la paleta de control ("Control Panel", en el menú "Window") esté con el botón
de Loop no pulsado (esto es, que, en principio, la movie no vuelva al principio después de llegar
al final).