Interacciones

12 de noviembre de 2007
Valoración del artículo:
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).

Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



El autor
Juan Ignacio Rodríguez Navarro
Equipo de desarrollomultimedia.es
Manuales
Categorías

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...