Está en la página 1de 80

La ventana Cast.

Menú Window > cast. En esta ventana es donde almacenamos los elementos importados o creados en el mismo Director, que formarán parte de la pelicula. Este es el "almacén" de nuestro proyecto.

Navegación por el Cast: Nos permite avanzar y retroceder a través de los miembros del reparto. Utilidad para mover los miembros del reparto: Esta es una herramienta muy útil cuando tenemos un gran número de elementos en el cast y queremos mover alguno a otra posicion no visible. Para hacerlo, seleccionamos el miembro del cast que queremos mover y luego arrastramos el cuadradito hacia el lugar del Cast a donde queremos mover este miembro seleccionado. Al soltar sobre la casilla que queramos, veremos que el miembro que teniamos seleccionado se coloca en esa casilla. Script e Info del miembro de reparto: Estos son dos botones fundamentales para trabajar en el Cast. En el primero podemos asignar un Script al miembro seleccionado. De esta forma este miembro, al ser colocado en el escenario se comportará tal y como se le haya asignado en el script de Cast, independientemente de donde este colocado. Por ejemplo: Si a un miembro le asignamos el script:
on mouseDown beep end

...este personaje siempre reproducirá un sonido de alerta del sistema cada vez que se haga clic sobre él.

El segundo botón nos sirve para asignar propiedades particulares al miembro del reparto. Más adelante veremos ejemplos en donde utilizaremos estas dos herramientas.

La ventana Tool Palette.
Menú Window > Tool Palette. Esta es la paleta de herramientas de Director. La primera herramienta es el puntero. Sirve como cualquier otro puntero para seleccionar y mover objetos por el Stage (escenario). La segunta es la herramienta de giro. Sirve para girar de forma libre los sprites que hemos colocado en el escenario. Luego tenemos las figuras con relleno y sin relleno. Estas figuras tiene la particularidad de ocupar muy poca memoria, lo que agilizará nuestra pelicula si se reproduce en internet, por ejemplo, en donde la velocidad de ejecución en un punto crítico. Los botones de selección y radio, son los tipicos botones que encontramos en aplicaciones y páginas web. Mas adelante veremos como utilizarlos para recoger información a través de Lingo. Las herramienta siguiente nos sirve para asignar un color de fondo y frontal a nuestras figuras, campos de texto, etc.. Las últimas herramientas son las de color y grosor de linea.

Inspector de Texto.
Menú Window > Inspectors > Text. Este es el inspector de texto. Aqui asignamos tipos de letra, alineación, espacio entre lineas, etc, para los textos y campos de texto.

La ventana Behavoir.
Menú Window > Inspectors > Behavoir. Este es un pequeño asistente que nos permite asignar Scripts de Lingo, sin necesidad de escribir el código, sino seleccionando los handlers y las acciones que queramos ejecutar. Mas adelante veremos los conceptos de handler y script con mucho más detalle. Utilizar la ventana Behavior no es la forma más limpia de programar en Director, y siempre que podamos, debemos escribir el código nosotros mismos. Esto no es una simple cuestión de estilo, sino que el abuso de los scripts generados en la ventana behavior puede llegar a saturar proyectos medianamente grandes, provocando comportamientos inesperados. Las indicaciones del gráfico, de momento, son lo suficientemente explicativas. Cuando entremos en temas de Lingo, aprenderemos a utilizar los scripts de forma extensa y pormenorizada.

La ventana Score.
Menú Window > Score.

El Score, es sin duda, la ventana que más intimida a los principiantes que se acercan a Director. Sin embargo, una vez que comprendemos sus funciones, y empezamos a hacer nuestros primeros juegos en ella, se va transformando simplemente en una herramienta poderosa y versátil. Debemos entender el Score, como un secuenciador, o una partitura, en donde colocamos todos los elementos de nuestra pelicula. Cuando la cabeza de reproducción comienza, va leyendo todo lo que encuentra, a la velocidad que le hayamos asignado, interpretando y obedeciendo a los scripts que hayamos puesto en su camino y moviendo o mostrando los sprites que hayamos colocado en los canales. En el gráfico inferior vemos las partes principales de la ventana score. En el capitulo 2 la utilizaremos masivamente para realizar nuestra primera animación.

Estas son las principales ventanas de Director. Confome vayamos avanzando veremos otras ventanas y otras funciones de Director, relacionándolas directamente con su uso en los ejemplos.

En el siguiente capitulo veremos, paso a paso, como realizar nuestra primera animación en Director, y como exportarla a video digital. Luego nos iremos adentrando en la utilización del sonido, video y comenzaremos a utilizar Lingo para crear la interactividad que necesita

GIF. No tiene en absoluto ningún sentido que realizemos una animación con imagenes a 32 bits. pero si lo que importamos son imágenes para animación será suficiente importarlas a 8 bits de profundidad de color. PICT. para aprender todo lo necesario. JPEG. Menú File > Import. y una pantalla a millones de colores corresponde a 32 bits. como por ejemplo.. con ejemplos paso a paso. PNG. de este modo nuestra pelicula ocupará menos memoria y funcionará más rápido. Importar gráficos. En la versión 7 de Director esto se extiende a una serie mas larga de posibilidades de importación de gráficos. . En este capitulo vamos a ver como se importan bitmaps de Photoshop o cualquier otro editor de imagenes en Director. Por eso es conveniente probar las peliculas directamente en CD antes de distribuirlas para evitarnos sorpresas. para decidir el formato correcto. la transferencia de datos en mucho menor que la del disco duro.nuestra pelicula para converitrse en una aplicación multimedia. Una pantalla de ordenador funcionando a 256 colores corresponde a 8 bits de resolución. para dominar Director y la multimedia de autor. Importar gráficos. En Macintosh. Si queremos mostrar fotografías a alta resolución podemos optar por 16 ó 32 bits. etc. incluso en CD Roms de velocidad mayor. porque por un lado nuestra pelicula ocupará demasiado y se arrastrará a velocidad de caracol en un CD Rom de 4X velocidad. También veremos algunas propiedades de los bitmaps. si se utiliza la versión 5 de Director solo podemos importar archivos con formato PICT y el Windows en formato BMP. una pantalla a miles de colores corresponde a 16 bits. A la hora de importar imágenes en Director es muy importante pensar para qué las vamos utilizar.

nos aparece una ventana similar a la siguiente en donde podemos fijar algunos ajustes. una pelicula de Director 7. y un archivo de sonido en formato AIF. y al pulsar "IMPORT". Si queremos importar más de un archivo a la vez. deleccionamos en la parte superior el archivo y pulsamos "IMPORT". En el ejemplo vemos una pelicula QuickTime. Si queremos eliminar algun archivo de la selección. vamos al menu File > Import. se importarán todos los archivos que hayan sido pasados a la ventana inferior. lo seleccionamos en la parte inferior y pulsamos "REMOVE". un gráfico en formato PICT. de este modo pasaremos a la pantalla siguiente en función del tipo de archivo que hayamos importado. y obtendremos una ventana similar a la mostrada en el ejemplo. vamos seleccionando los archivos y pulsando el botón "ADD". Una vez le hemos dado al botón "IMPORT" y le hemos expresado nuestra conformidad a Director.Partiendo de la base de que tenemos los gráficos preparados en su carpeta o directorio correspondiente. Si queremos importar un solo archivo. . de este modo los archivos que serán importados se van alineando en la parte inferior.

en el ejemplo 8 bits (256 colores). si teniamos seleccionada una casilla concreta antes de importar.Aqui podemos ajustar la profundidad de color.. para esto seleccionamos el gráfico y pulsamos el botón superior con el simbolo: ( ) Con esto accedemos a las propiedades del miembro seleccionado en la ventana Cast.... .. y podemos asignarle una paleta de color. Lo más usual para empezar es asignarle la paleta de color de nuestro sistema.. Por defecto el gráfico se colocará en la primera casilla libre que encuentre el la ventana Cast. Ahora vamos a ver algunas propiedades que podemos ajustar en la ventana Cast para los archivos gráficos. o bien... bien sea Macintosh ó PC y activar la opción "Dither" para que los degradados de color de la imagen sean lo más suaves posible.. . Una vez le damos a "OK" el proceso de importar se ha terminado y el gráfico pasa a ser parte de la ventana Cast... el gráfico se colocará en esta casilla..

Esta es la ventana que nos aparece para los miembros de reparto gráficos. Director ha recordado el nombre original del gráfico. En primer lugar vemos.Conviene recordar que estos ajustes son distintos según que tipo de miembro tengamos en el Cast.Y por último las preferencias de descarga en memoria (Unload) de ese miembro cuando sea utilizado. . Bien. hará que nuestro grafico se ilumine. asi como sucede en alguna otra.La Opción "Highlight When Clicked". En esta explicación. pero aún hay otro modo de modificar los ajustes para los gráficos en Director. omitimos de momento algunas cosas que abordaremos más adelante. . . como vemos a continuación. invirtiendo sus colores al hacer clic sobre él. .La opción "Dither" aplica el efecto "Dithering" (Suavizado) a los gráficos. que tanto en la ventana Cast como aqui. pero siempre podemos cambiarlo en esta ventana o directamente en la ventana Cast. . cuando sea colocado en el escenario. ya tenemos el gráfico importado y hemos visto sus particularidades en la ventana Cast. Este tema lo veremos con mayor detalle cuando abordemos la gestión de memoria.Luego tenemos los ajustes de transparencia Alpha para los graficos de 32 bits (Solo en Director 7).

au."Transform Bitmap". Recordad que esta opción del menú "Modify" se encuentra desactivada. si no está seleccionado un gráfico en la ventana Cast. La fecuencia de muestreo recomendada para el sonido (a ajustar en nuestro editor de sonido preferido). Asi mantendremos la maxima compatibilidad entre las dos plataformas. y en la versión 7 de Director también en Formato Sun. En esta ventana siempre podemos cambiar en última instancia. ya que Director es multiplataforma. que es el formato de sonido utilizado por las applets Java. o System 7 Sound. que una pelicula de director construida en Macintosh se puede abrir directamente en la misma versión de director de PC. El sonido apenas tiene particularidades a la hora de importar. Menú Modify > Transform Bitmap. las particularidades del gráfico. En Macintosh podemos importar basicamente sonidos AIFF. Para ambas plataformas Macintosh y PC el formato de sonido recomendado es AIFF. o sea. Por lo general en un editor de sonido podemos ajustar la resoluciÛn del sonido de igual modo que hacemos con los gr·ficos en un editor de im·genes. Importar sonidos. pero debemos tener muy en cuenta el tamaÒo del archivo de sonido que importamos. En el siguiente capitulo veremos como importar archivos de sonido y video en Director. .

acorde con el nuevo miembro del reparto.025 kHz. esto nos ayuda a identificar los miembros de reparto en el Cast de forma rápida. son diferentes. .. del año catapún. estamos obligando al procesador a realizar dos operaciones. Importar sonido. Fijaos en los iconos de ambos. Siempre pensad como se reproduciria vuestro material multimedia en un PC de oficina. sino también blindado.050 kHz ó 11. con el miembro sonido seleccionado en el Cast. Aunque el proceso de importar sonido es exactamente el mismo que a la hora de importar un gráfico. Los sonidos con frecuencia superior a esta. capaz de hacer volar el mundo con su errático ratón. En la ventana Cast. y con un usuario malévolo.. Si hacemos clic sobre el botón: . nuestro primer sonido importado. pueden bloquear una pelicula ya que hay que tener en cuenta que por lo general cuando ponemos en una pelicula una animación gráfica y un sonido.es de 22. con un CD de doble velocidad. veremos que ahora nos sale otra ventana diferente. el sonido tiene menos peculiaridades en este proceso que los gráficos. una actualizar el gráfico y otra leer y reproducir el archivo de sonido. al lado del gráfico. vuestro programa tiene que ser no sólo rápido en condiciones adversas. vemos ahora.

como Adobe Premiere. si no queremos que nuestro video vaya a saltos y se coma fotogramas intentando sincronizar la imagen con el sonido. la reproducción de este en pantalla es una tarea pesada para cualquier tipo de ordenador. Prácticamente tenemos sólo la opción de "Loop". con la consiguiente mejora general de nuestra aplicación en cuanto a rendimiento. En el siguiente capitulo veremos las propiedades y como importar video.Más facil de entender que en el caso de los gráficos. Aunque podemos hacer video digital al tamaño que queramos en un programa editor de video. El video es el componente multimedia de m·s peso. debemos utilizar otros formatos más pequeños. ya que aparte de que un video de unos pocos segundos a 320 X 240 pixels ocupa varios megas en el disco duro. que hace que nuestro sonido se reproduzca de forma repetitiva. Importar videos. Este formato es el más grande recomendable a la hora de insertar video en nuestra aplicación multimedia. la ventana de propiedades del sonido es más simple. Dos buenos tamaños son (280 X 210 pixels) ó (160 X 120). Si el video adem·s tiene sonido debemos vigilar que el formato del sonido no sea excesivamente alto. Con el video digital debemos tener a™n m·s cuidado que con el sonido. y la opción "Unload" que de forma similar al caso de los gráficos regula la prioridad en la purga de miembros que no son utilizados en un momento dado. y también como incorporar al escenario los elementos multimedia que hemos importado. que se reproducirán más rápido. hay algunos formatos estándares que nos convendrá usar. Importar video: . Sobra decir que es tarea imposible intentar reproducir a la vez dos videos con sonido en pantalla a un tiempo y esperar un resultado lejanamente aceptable. esto quiere decir que a cualquier ordenador le cuesta mucho esfuerzo reproducir video. El primero es el formato estándar QuickTime (320 X 240 pixels). Si podemos.

vamos a pasar a la ventana Cast. modificar y dirigir su reproducción en Lingo. más adelante. Como vemos. Abordaremos las capacidades del lenguaje Lingo para controlar el video. y también ajustando sus propiedades en la ventana Cast. en donde tenemos el video ya importado en la casilla 3. Si pulsamos el botón info ( ) del cast. pero si tenemos muchas opciones de variarlo. . el video se ajusta como otro miembro del reparto más. Para este ejemplo he utilizado Director 5. disponible desde ahora en nuestra pelicula. Ya que el proceso de importar es el mismo que en el sonido. ahora vamos a ver que propiedades del video podemos ajustar en el Cast una vez importado. apenas disponemos de sofisticaciones en Director a la hora de importar video. obtendremos la ventana siguiente y podemos modificar alguna de sus propiedades: Aqui vemos las propiedades del video a las que podemos acceder en la ventana Cast.El proceso de importar video es el mismo que el de importar sonido. (Menu File > Import). cuando estemos aprendiendo Lingo.

Si desactivamos esta opción. Sync to Soundtrack. etc. un gráfico. elimina el sonido del video. es conveniente desactivar esta opción si el video que hemos importado no tiene sonido. Sound: Aqui decidimos si nuestro video tendrá sonido o no.La segunda. La opcion Show Controler simplemente nos dejará ver la barra de progreso de la pelicula QuickTime. De momento es mejor no tocar estas opciones. mientras funciona en el escenario. Normalmente el video nunca deja que otro elemento se ponga sobre el. asi QuickTime no intentará ajustar la imagen a un sonido hipotético. . Play Every Frame (No Sound). . habilita que QuickTime ajuste el sonido a la imagen. Video: Aqui escojemos si queremos que se vea el video en el escenario. de forma que una no vaya más rápido que la otra. Video: En este menu tenemos dos opciones: . es recomendable hacer pruebas uno mismo. siempre podemos arrancarlo luego con Lingo. funcionará a saltos y de forma poco fluida. el video dejará pasar sobre el a los demás miembros de la pelicula. el video se pondrá sobre él de forma que no podremos verlo mientras se encuentre en el ámbito del video. por defecto comienza en pausa. Y esto es todo para empezar con el video. .La primera opción.. volviendo al principio cada vez que haya terminado. Paused: Con esta opcion definimos si el video. Loop: Con esta propiedad activada el video se reproducirá de forma continua. son para la gestión de la carga y descarga en memoria del video. o volvamos a la ventana Cast para desactivarla. y el video funcionará más fluidamente. con lo que el video irá más fluido en pantalla. Options: La opción Direct to To Stage. a no ser que eliminemos esta caracteristica desde Lingo. es una propiedad por defecto del video. importando y ajustando video. pero en contrapartida. hasta cuando abordemos la gestión de memoria. por lo que no conviene desactivar esta opción. caso de tenerlo. si un gráfico pasa por delante del video. e inabilita el intento de QuickTIme por sincronizar imagen y sonido. o bien sea invisible.Playback: Este es el principal control de la reproducción de video en Director. Las Opciones Enable Preload y Unload. pero conservando las propiedades del sonido. bien sea texto.

si no queremos que nuestro video vaya a saltos y se coma fotogramas intentando sincronizar la imagen con el sonido. Ya que el proceso de importar es el mismo que en el sonido. vamos a pasar a la ventana Cast. modificar y dirigir su reproducción en Lingo. . cuando estemos aprendiendo Lingo. Sobra decir que es tarea imposible intentar reproducir a la vez dos videos con sonido en pantalla a un tiempo y esperar un resultado lejanamente aceptable. Si el video adem·s tiene sonido debemos vigilar que el formato del sonido no sea excesivamente alto. pero si tenemos muchas opciones de variarlo. como Adobe Premiere. y también ajustando sus propiedades en la ventana Cast.Más adelante veremos como tratar con el video en el escenario. con la consiguiente mejora general de nuestra aplicación en cuanto a rendimiento. (Menu File > Import). Este formato es el más grande recomendable a la hora de insertar video en nuestra aplicación multimedia. El primero es el formato estándar QuickTime (320 X 240 pixels). en donde tenemos el video ya importado en la casilla 3. disponible desde ahora en nuestra pelicula. Con el video digital debemos tener a™n m·s cuidado que con el sonido. El video es el componente multimedia de m·s peso. la reproducción de este en pantalla es una tarea pesada para cualquier tipo de ordenador. debemos utilizar otros formatos más pequeños. Abordaremos las capacidades del lenguaje Lingo para controlar el video. ya que aparte de que un video de unos pocos segundos a 320 X 240 pixels ocupa varios megas en el disco duro. hay algunos formatos estándares que nos convendrá usar. Para este ejemplo he utilizado Director 5. el video se ajusta como otro miembro del reparto más. Como vemos. Importar video: El proceso de importar video es el mismo que el de importar sonido. más adelante. y luego como controlarlo con Lingo. Dos buenos tamaños son (280 X 210 pixels) ó (160 X 120). que se reproducirán más rápido. Importar videos. Si podemos. ahora vamos a ver que propiedades del video podemos ajustar en el Cast una vez importado. Aunque podemos hacer video digital al tamaño que queramos en un programa editor de video. esto quiere decir que a cualquier ordenador le cuesta mucho esfuerzo reproducir video. apenas disponemos de sofisticaciones en Director a la hora de importar video.

o volvamos a la ventana Cast para desactivarla. Normalmente el video nunca deja que otro elemento se ponga sobre el. obtendremos la ventana siguiente y podemos modificar alguna de sus propiedades: Aqui vemos las propiedades del video a las que podemos acceder en la ventana Cast. pero conservando las propiedades del sonido.Si pulsamos el botón info ( ) del cast. asi QuickTime no intentará ajustar la imagen a un sonido hipotético. Playback: Este es el principal control de la reproducción de video en Director. siempre podemos arrancarlo luego con Lingo. o bien sea invisible. Sound: Aqui decidimos si nuestro video tendrá sonido o no. . a no ser que eliminemos esta caracteristica desde Lingo. el video se pondrá sobre él de forma que no podremos verlo mientras se encuentre en el ámbito del video. bien sea texto. y el video funcionará más fluidamente. por defecto comienza en pausa. Video: Aqui escojemos si queremos que se vea el video en el escenario. es conveniente desactivar esta opción si el video que hemos importado no tiene sonido. un gráfico. es una propiedad por defecto del video. etc. Paused: Con esta opcion definimos si el video. Loop: Con esta propiedad activada el video se reproducirá de forma continua. Options: La opción Direct to To Stage. si un gráfico pasa por delante del video. volviendo al principio cada vez que haya terminado.

Play Every Frame (No Sound). elimina el sonido del video. habilita que QuickTime ajuste el sonido a la imagen. Más adelante veremos como tratar con el video en el escenario. Para esto cogemos el sprite por su punto final en el Score y lo encogemos para que solo ocupe de principio un cuadro. Para esto podemos arrastrar el ciclista desde la ventana Cast hasta el escenario o hasta la ventana Score. Las Opciones Enable Preload y Unload. La opcion Show Controler simplemente nos dejará ver la barra de progreso de la pelicula QuickTime.La segunda. que será el punto de partida de la animación. pero en contrapartida. . con lo que el video irá más fluido en pantalla. .La primera opción. y luego como controlarlo con Lingo. el video dejará pasar sobre el a los demás miembros de la pelicula. Video: En este menu tenemos dos opciones: . Despues de ver como se importan los elementos en Director. es recomendable hacer pruebas uno mismo. caso de tenerlo. son para la gestión de la carga y descarga en memoria del video. En primer lugar hemos importado un ciclista en formato pict. hasta cuando abordemos la gestión de memoria. funcionará a saltos y de forma poco fluida. vamos a ver como realizar la primera animación. de forma que una no vaya más rápido que la otra. . De forma que pasara a ocupar uno o varios cuadros por defecto en el score. Esta animación queremos que comienze en el cuadro 5 y vamos a extender la animación hasta el cuadro 15. apareciendo tambien en el escenario. e inabilita el intento de QuickTIme por sincronizar imagen y sonido. De momento es mejor no tocar estas opciones. por lo que no conviene desactivar esta opción. y ahora lo pondremos a correr por el escenario. Sync to Soundtrack. importando y ajustando video.Si desactivamos esta opción.. Primera animación. Y esto es todo para empezar con el video. mientras funciona en el escenario.

y en el score asignamos la tinta "Background Transparent" al Sprite ciclista. . colocamos en el escenario el ciclista en el punto de partida de la animación. para que sus partes blancas pasen a ser transparentes. Ahora con este unico cuadro de partida de la animación seleccionado en el score.En el menu "Modify > Movie > Properties". en este caso entrando por la parte izquierda del escenario. cambiamos el color de fondo de la pelicula al color que prefiramos.

Vemos como no movemos el cuadro 5 hasta la posicion 10 sino que nos llevamos una copia del sprire hasta esta posición. Si no hubieramos pulsado la tecla "ALT" simplemente habriamos movido el cuadro 5 hasta la posición 10. . vamos de nuevo al escenario y colocamos el ciclista en el centro del escenario. Para esto. Esta será su posición cuando llegue la reproducción al cuadro 10. a medio camino de su animación completa. en donde el ciclista ya se encontrará en el cento del escenario. Con el sprite seleccionado en el cuadro 10. arrastramos el sprite hasta el cuadro 10. Con esto estamos asignando un nuevo tiempo en la pelicula. pulsando la tecla "ALT".Una vez colocado el cuadro 5 en su punto de partida vamos a asignar un punto intermedio en la animación en el cuadro 10. en el que nuestro actor estará en otra posición.

Con esto tenemos un primera animación básica. Ahora vamos a ver como asignar el tiempo de reproducción. en el principio de la animación del ciclista (cuadro 5). desde el punto inicial. porque lo hará de forma virtual. Si vamos al menú "Control > Play" veremos como el ciclista recorre el escenario de izquierda a derecha. en donde el ciclista ya desaparecerá del escenario por la parte derecha. seleccionamos un cuadro en el canal de tiempo del score. La pelicula solo responde y conserva los controles de velocidad asignados en el score o con Lingo. En primer lugar. Ahora vamos a hacer la misma operación pero estirando el sprite hasta la posición 15. para definir la trayectoria del sprite como mejor nos convenga. . la ventana "Control Panel" no la debemos usar para asignar tiempo a la pelicula. Para esto hacemos lo mismo que en el caso anterior: estiramos una copia del sprite con la tecla "ALT pulsada hasta la posición 20.Como vemos Director ha creado una linea de animación. y en esa posición colocamos el sprite en el escenario. Si queremos ajustar la trayectoria de movimiento. no real. podemos recurrir al menu "Modify > Sprite > Tweening". generando todos los pasos intermedios. Para ajustar la velocidad de reproducción. desapareciendo ya por la parte derecha de la pantalla. hasta la nueva posición en el cuadro 15.

Conviene probar uno mismo a hacer animaciones. Debemos cuidar que la velocidad de la pelicula no sea excesiva. en donde nos sale esta siguiente ventana en donde podemos asignar el tiempo. pero ahora nos vale con saber asignar velocidad para los cuadros de la pelicula. más aún cuando está corriendo sobre un CD. Recordad que conforme poneis sprites en el escenario. . Mas adelante veremos otras aplicaciones de esta ventana. por ejemplo. y probar distintas velocidades de reproducción. Tambien es conveniente probar las tintas de mezcla de los sprites.Y con este cuadro seleccionado vamos al menú "Modify > Frame > Tempo". en el ejemplo 5 fps. simplemente seleccionamos el canal de tiempo. Para prolongar el area de tiempo especificado en la pelicula. en donde termina la animación de ciclista. Asi podemos asignar diferentes velocidades a diferentes partes de la pelicula. y con la tecla "ALT" pulsada. hasta el cuadro 15. estirándolo. el sprite del cuadro 2 estará por delante del sprite del cuadro 1 y asi sucesivamente. metiendo graficos de fondo y superponiendo personajes. Esta es la base para trabajar en director: controlar los elementos del escenario. arrastramos el sprite. para que no sobrepase la capacidad de un procesador poco potente.

FilmLoops. debemos partir de los gr·ficos importados que conformar·n la animaciÛn del objeto. por ejemplo. Para solucionar este tipo de animaciones autÛnomas tenemos los FimLoops. siendo una de las técnicas más interesantes de la animación múltiple en Director. independientemente del curso del resto de la animaciÛn. creando la primera navegación interactiva. y que queremos manipular como un solo sprite. Otro caso puede ser que necesitamos. a la vez tendremos que hacer avanzar el muÒeco hacia delante con todos sus movimientos de andar. que son muy f·ciles de utilizar y nos proporcionan una ayuda muy importante en casi todos los trabajos con Director. Y aqui vemos el movimiento montado en una animaciÛn: . (Descargar pelicula de ejemplo) Si queremos reproducir la animaciÛn de una persona o un perro caminando. un reloj.En el siguiente capitulo veremos como realizar "FilmLoops". y en el siguiente capitulo. En este ejemplo vemos los ocho gr·ficos que componen un reloj cuyas agujas dan vueltas. tenemos una animaciÛn un poco compleja: Por un lado el muÒeco debe ir moviendo los brazos y las piernas mientras avanza hacia delante. Para hacer un FilmLoop. comenzaremos a controlar nuestra pelicula con pequeñas dosis de Lingo. con lo cual en cada paso tenemos cuatro movimientos para los brazos y piernas. que siempre de vueltas sin parar.

Luego. y los dejamos ordenados en la ventana Cast.Veamos el proceso de crear FilmLoops. seleccionamos juntos. veremos como tambiÈn se nos abre un pequeÒo cuadro de dialogo en donde podemos dar nombre al nuevo FilmLoop. Primero importamos los gr·ficos que conformar·n el conjunto del FilmLoop. Otro modo de hacerlo es copiando todos los sprites del FilmLoop en el Score. y los arrastramos a un lugar libre en el Score. limpiamos el Score de los sprites que formaron el FilmLoop. Una vez que tenemos colocados y alineados los sprites. Tambien podemos. todos los graficos del FilmLoop. . para luego pegarlos en una casilla libre de la ventana Cast. ocupando los cuadros del score en vertical. apretando la tecla may™sculas. en el mismo cuadro. los seleccionamos juntos de nuevo en el score y los arrastramos juntos hacia una casilla libre en la ventana Cast. Hecho esto. veremos como se nos abre un cuadro de dialogo de FilmLoop en donde podemos poner nombre a nuestro FilmLoop. Para colocar directamente la animaciÛn en horizontal vamos al menu "Modify > Space to time". Veremos que los graficos se nos alinean en el Score. ir colocando un gr·fico delante del otro para formar una animaciÛn simple que luego convertiremos en FilmLoop. hacia abajo. simplemente.

rozado y pulsado. hacemos doble clic en el canal de script. Y adem·s importamos un sonido que ser· el que se reproduzca al pulsar sobre el botÛn. -- updatestage -.A partir de ahora cuando arrastremos al escenario o al score el nuevo FilmLoop desde el Cast. y ocupar· la casilla n† 7 del Cast. En primer lugar tenemos importamos en la ventana Cast los tres gr·ficos del botÛn: El botÛn en reposo. Veamos como se hace esto en Director. Muchas veces probablemente. utilizando una aplicaciÛn multimedia o un programa hemos visto esos botones que cambian de forma al rozar o al pulsar sobre ellos.al intentar salir del cuadro le decimos a Director que permanezca en el mismo lugar. -- . De todas formas no podremos borrar los gr·ficos que conforman el filmloop de la ventana Cast porque el FilmLoop solo es una referencia a estos gr·ficos.si el raton roza el sprite situado en el canal 1 del Score (TRUE significa verdadero) -- puppetSprite 1 true -. pero contendr· un bucle con todos los movimientos que lo conforman. Los tres estados del botÛn: Ahora debemos colocar en el score el boton en reposo.declaramos "puppet". -- set the memberNum of sprite 1 to 5 --cambiamos el numero de cast del sprite 1 por el correspondiente al boton rozado. 4. en este caso a partir del cuadro 5 ocupando tres cuadros del Score. este sera un solo sprite. 5 y 6 respectivamente. por ejemplo. en el ejemplo se llama "CLIC". el sprite 1 con lo que pasa a ser controlado por Lingo. -- if rollOver(1) = true then -. En el ultimo de los tres cuadros.forzamos a actualizar el escenario. En este caso ocupar·n las casillas del Cast.. ---------------------------------------------------------------En el prÛximo capitulo empezamos con Lingo.. Botones interactivos. con lo que se nos abre la ventana script para poder escribir nuestro codigo Lingo que se ocupara de controlar distintos aspectos: on exitFrame go to the frame -.

de esta forma al soltar el ratÛn.nuevo handler que captura el clic del ratÛn.else if rollOver(1) = false then -. -- updatestage -.Hacemos controlable desde Lingo el botÛn. podremos probar nuestro script rozando el botÛn con el cursor. -- upatestage end mouseUp . Con el Sprite seleccionado. Para esto seleccionamos el sprite botÛn en el frame o frames en donde queremos activar su script. -- set the memberNum of sprite 1 to 6 -. en este caso en la ultima casilla en donde hemos colocado el script de score anterior.que se reproduzca el sonido importado con el nombre "CLIC".fin del Script -- Si ahora ponemos a andar la pelicula.actualizamos el escenario. -- puppetSprite 1 true -. -- set the puppet of sprite 1 to false -.sin embargo. -- end mouseDown -. el control de Lingo sobre el gr·fico cuando levantemos el boton del raton. si el raton NO ROZA el sprite 1. -- puppetSound "CLIC" -.terminamos el handler mouseDown.nuevo handler para cuando levantamos el botÛn del ratÛn -- set the puppet of sprite 1 to false -.fin de la sentencia if() -- end -. Pero aun falta el Script que har· que el botÛn cambie al pulsar sobre Èl y emita un sonido. vamos al men™: Modify > Sprite > Script: con los que se nos abre otra venatna de Script con el handler: on mouseDown end Aqui escribimos: on mouseDown -. el botÛn vuelve a su estado de reposo. -- on mouseUp -.cambiamos el boton en reposo por el gr·fico del botÛn pulsado.declaramos "false". ya que es ahi donde la pelicula se detiene.eliminamos el "puppet" del sprite por lo que deja de estar controlado por Lingo y vuelve a su estado original -- updatestage end if -.

... que responden a nuestras acciones con el ratÛn.... N -para ir hacia abajo.......... Eventos del teclado...... en Director 6. .... a ese cuadro le ponemos una marca que en este caso hemos llamado "M". responden a los eventos de pulsar o soltar una tecla respectivamente.. En este capítulo se incluye una pelicula de ejemplo de este ejercicio. "on mouseLeave me"...end Con esto tenemos un botÛn.. K -para ir a la derecha... etc.. "on mouseDown me"..... por lo que prÛximamente habr· un capitulo exaustivo sobre los principales eventos de ratÛn para las nuevas versiones de Director tratando los handlers: "on mouseEnter me". Sin embargo.... Y el el cuadro de script hacemos doble clic para editar un script de score que mantendrá la pelicula en el mismo cuadro y responderá a los eventos del teclado.. las nuevas versiones han avanzado bastante al respecto.. Para comenzar colocamos una figura en el score centrándola en el escenario.dir".... Lo explicado anteriormente es compatible con todas las versiones de Director..para ir a la izquierda. En este capitulo vamos a ver un interesante ejercicio con el teclado.... . de forma que moveremos un sprite por el escenario segun pulsemos las teclas: J ...... "the mouseLoc".. o los que queramos................. "the mouseWord".. llamada "Key.............. U -para ir hacia arriba. (Descargar pelicula de ejemplo) Los eventos de teclado "KeyDown" y "KeyUp" comunes a casi todos los lenguajes de programación...

"UPDATESTAGE" FUERZA A ACTUALIZAR EL ESCENARIO -else if the key = "K" then -...MOVER EL SPRITE A SU POSICION -10 -updatestage -.SI LA TECLA ES "J".MOVER EL SPRITE A SU POSICION +10 -updatestage else if the key = "U" then puppetsprite 1 true set V = the locV of sprite 1 set the locV of sprite 1 to V -10 updatestage else if the key = "N" then puppetsprite 1 true set V = the locV of sprite 1 set the locV of sprite 1 to V +10 updatestage end if .QUEDARSE ESPERANDO EN EL CUADRO -on keyDown if the key = "J" then -.ACTIVAR EL SPRITE 1 -set h = the locH of sprite 1 set the locH of sprite 1 to H -10 -... -puppetsprite 1 true set h = the locH of sprite 1 set the locH of sprite 1 to H +10 -.PERO SI LA TELCA ES "K".El script "mágico" será este: on exitFrame go to the frame -. -puppetsprite 1 true -.

A aquellos con conocimientos de programación. Director les puede resultar tedioso de aprender también aunque por otros motivos. incluso otros lenguajes del alto nivel llegarán a tu vida tarde o temprano. Director no es solo un programa para hacer presentaciones. (Descargar pelicula de ejemplo) Casi nada se puede conseguir de un programa sin las funciones de entrada y salida de datos o información. pero lo olvidarás pronto. llegando a conformar verdaderas aplicaciones inteligentes que realizan cálculos e interactuan con el usuario mas alla de lo que se espera de un programa de presentaciones. aunque si lo hace en gran medida. El manejo de texto. o si la clave de acceso al programa es la correcta o no. y no se me ocurre mejor ejercicio que aconsejaros que os lo leais intentando entender por vosotros mismos cada linea. . los programas en general actúan de puente entre nuestros deseos y el supercerebro del ordenador. o realizar cálculos matemáticos a partir de los datos introducidos por el usuario. es que estas pasando un extraño fin de semana. sino que va mucho mas alla.Sino. solicitandole calculos y haciendole gestionar variables y datos. yo lo comprendo. pero la pregunta es: "¿Te entusiasma programar?". Director te tendrá cogido de por vida . Si es asi.".. Asi podemos saber que respondio el usuario a nuestra pregunta.FIN DE LA SENTENCIA CONDICIONAL "IF" -end Para gente que no ha programado nunca les recuerdo que Director no facilita las cosas hasta el punto que quizá imaginan..-. Cuando me comentan cosas como: "Es que Director es muy difícil. y las entradas del usuario por parte de Director es extremadamente sencillo y potente. Por esto os aconsejo que os leais el codigo anterior. Sabiendo de un ordenador es simplemente una supercalculadora. El manejo de texto. a mi me parece lo suficientemente autoexplicativo.

las cajas de texto no responden a las órdenes de Lingo. estos no se convierten en bitmaps durante la ejecución sino que permanecen funcionales en todo momento como lugares en donde el usuario puede escribir. bien sea una cadena (string) . ni podemos permitir que el usuario lo edite y reescriba durante la ejecución. Los campos de texto si responden a muchos script de Lingo. de forma que no podemos comprobar que texto está escrito en la caja en un momento dado. y una variable es un tipo de dato. son algo diferente. como veremos ahora. nos permiten poner textos en el escenario con la tipografia de la que dispongamos en nuestro ordenador para realizar diseños y titulares. . o un valor booleano (TRUE o FALSE). Lingo para manejo de texto: Un texto para un programa es una variable. con lo que el usuario no necesita tener esa tipografia con la que hemos diseñado el titular para poder visualizarla y por lo tanto no necesitamos distribuir junto con la aplicación el tipo de letra con el que hemos diseñado texto durante la construcción del proyecto. una vez creada la aplicacion se convierten automáticamente en Bitmaps con una resolución muy aceptable. un numero en coma flotante (float). Los campos de texto (2). un numero entero (integer) .Lo mas delicado es diferenciar entre cajas de texto y campos de texto. Estas cajas de texto. ni podemos variarlo desde un script de Lingo. En el boton de propiedades: de la ventana cast puede experimentarse con distintas opciones para los campos de texto. o bien en donde podemos comprobar desde Lingo el contenido o reescribirlo. Las cajas de texto (1). Sin embargo. Para variar el color de fondo y de texto podemos usar los selectores de color de la paleta de herramientas.

para permitir que el usuario pueda escribir en el. .Yo abordo estos tutoriales bajo el supuesto de que todos tienen una minima experiencia en programación. Poner nuevo texto en un campo: Para escribir nuevo texto en un campo desde Lingo. hacer sonar dos pitidos del ordenador. que quiza tengan las mismas dudas. ajustandolo a la medida que queramos. else if field "miCampo" <> "hola mundo" then beep(4) Si el campo de texto llamado "miCampo" es distinto a "hola mundo". Si escribimos en su lugar before. el nuevo contenido se pondrá al principio del campo de texto si variar el contenido anterior. deleccionamos "editable" para el campo de texto. ya que de otro modo no podria hacerlo. les recuerdo que pueden enviar sus preguntas al buzón del curso para que una vez respondidas. En el botón de información de la ventana Cast. el script necesario es el siguiente: put "me gusta Lingo" into field "miCampo" Para poner el contenido de un campo de texto en otro campo de texto: put field "miCampo1" into field "miCampo2" Si cambiamos la palabra subrayada into. Para esto seleccionamos un campo de texto en la paleta de herramientas y los estiramos por el escenario. supongamos que queremos saber que nos responde el usuario o que ha escrito en un campo de texto de nuestra aplicación. hacer sonar cuatro pitidos del ordenador. Para aquellos que esten poco familiarizados con estos y otros conceptos. por after. puedan ser consultadas por otros estudiosos. Comprobar el contenido de un campo de texto: Bueno. de otro modo me seria imposible afrontar esto. se comprueba el contenido del campo de texto y en función de esto se realiza una operación. el texto se pondrá al final del texto del campo 2 sin alterar el contenido anterior. El script para comprobar el contenido de un campo de texto tiene que estar encerrado en una sentencia if( ) condicional: if field "miCampo" = "hola mundo" then beep(2) Si el campo de texto llamado "miCampo" contiene el texto "hola mundo". end if Este script se puede asignar a un botón de forma que al pulsar sobre él.

Operaciones matemáticas: Tenemos un campo de texto llamado "OP1". Esto se realiza a travÈs de "marcas". a las que se llega de forma autom·tica o a travÈs de un evento de Lingo. generalmente se habilitan primero en el Score las diferentes secciones que representan las distintas partes de la pelicula. .field "OP2" into field "RESULTADO" Para multiplicar: put field "OP1" * field "OP2" into field "RESULTADO" Para dividir: put field "OP1" / field "OP2" into field "RESULTADO" Si en algun caso. un segundo campo llamado "OP2" y otro llamado "RESULTADO". Para sumar lo introducido en el campo "OP1" y lo del campo "OP2" y poner el resultado en el campo "RESULTADO" el script seria: Para sumar: put field "OP1" + field "OP2" into field "RESULTADO" Si quisieramos un resultado entero deberiamos añadir la palabra "INTEGER": put integer (field "OP1") + integer (field "OP2") into field "RESULTADO" Para restar: put field "OP1" . Director gestionaría automáticamente el error mostrando el mensaje NAN (). Se puede consultar y examinar la pelicula que acompaña a este capitulo para ver el funcionamiento de estos ejemplos. que seÒalan donde est· cada parte concreta de la pelicula con su nombre propio. se introdujeran valores no-numericos. NavegaciÛn interactiva. [ Descargar la pelicula de ejemplo ] Para construir una pelÌcula interactiva que se compone de distintos apartados. que quiere decir mas o menos "No entiendo nada".

sino que adem·s es imprescindible para hacer aplicaciones interactivas b·sicas. Con lo cual el "go to" de Director no solo es correcto en el entorno de Lingo. Las otras dos marcas contienen dos fotos diferentes. "foto1" y "foto2". tiene asignado el script: on mouseDown me go to "menu" end Para aquellos familiarizados con C Û Visual Basic. el sprite botÛn "ver foto 1" tiene asignado el script: on mouseDown me go to "foto1" end Y el sprite botÛn "volver al menu". con el botÛn "volver al men™". con lo que nos aparecer· un pequeÒo tri·ngulo invertido al que podemos poner una etiqueta o cambiar de sitio arrastr·ndolo sobre la barra de marcas. tenemos tres marcas: "menu". Asi. Al final de cada secuencia hemos colocado en script on exitFrame go to the frame end Para impedir que llegados a ese punto la cabeza de reproducciÛn siga adelante. sino que lo que se hace es referenciar o enviar la cabeza de reproducciÛn directamente a la marca especificada en la sentencia " go to". pulsamos sobre la barra superior del score. diferenciando tres partes en el score. Cada uno de los botones de esta pelicula tiene un script "go to" referenciando a una marca de la pelicula. En este ejemplo. . La primera le llamamos "menu" y es donde tenemos los botones: "ver foto 1" y "ver foto 2". quiero indicaros que el "go to" de Director no es una llamada a funciÛn o un salto de cÛdigo "chapuzero" como en el caso de estos dos anteriores lenguajes.Para crear una marca nueva.

sino que se agrupan en una funciÛn. Las variables se componen de dos partes: nombre y valor.Diferencia entre el "go to" para el Score y las llamadas a funciones ( Handlers ) en Lingo: En Director los mÈtodos o funciones se denominan "Handlers". UtilizaciÛn de variables. ya sean n™meros enteros. para abrir una nueva ventana de Script vacia. o Handler.nombre del handler -end Con lo que el Handler comenzar· a hacer su trabajo. Podemos pensar que el ordenador "recuerda" todas nuestras variables con su valor especifico. fraccionarios. Las variables son elementos de programaciÛn que se crean para almacenar valores. o cadenas de texto (String). para ser llamado luego cuantas veces se necesite desde cualquier parte del programa. B·sicamente un handler es una porciÛn de cÛdigo independiente que contiene una o m·s sentencias y operaciones. valores booleanos (true o false). true set the memberNum of sprite 1 to 4 updatestage end Cerramos la ventana de script y el codigo quedar· esperando alli. De esta forma se consigue no tener que repetir porciones de cÛdigo idÈnticas en partes diferentes del programa. Para llamar a un Handler utilizamos simplemente el nombre del Handler: on mouseDown cualquierCosa ( ) -. Todo esto lo desarrollaremos mejor en el siguiente capÌtulo en donde se tratar·n las variables en Director. . en el caso de Director. mÈtodo. Para crear un nuevo Handler en Director. Este modo de trabajo es universal en todos los lenguajes de programaciÛn. En ella escribimos el cÛdigo para el nuevo Handler: on cualquierCosa ( ) -. Estas variables se almacenan en porciones de memoria del ordenador. seleccionamos el men™: "Window > Script". y que siempre espera a ser llamado para funcionar. a ser llamado desde cualquier parte de Director para comenzar a realizar su trabajo.nombre del handler -puppetSprite 1 .

En las operaciones matem·ticas. o set nombreCosas = "Cuantas hay aqui".El nombre de las variables no puede estar formado por frases compuestas del tipo: una variable. -(cadena de texto) Las variables apenas nos servirian para nada si una vez creadas no pudiesemos manipular sus valores. Ambito de las variables. no crear· conflictos con otra variable del mismo nombre en otra parte del programa. En Director podemos crear una variable simple por ejemplo asi: set numeroCosas = 5 --(numero entero). Esta es la jerarquia: ( (2+2) * 4) . aunque . o empezar por un n™mero. por ejemplo: on mouseDown set cosas = cosas + 1 end Esta variable no perdurar· fuera de este handler. podemos aumentarla luego asi: set cosas = cosas + 5. De igual modo en un Handler: on exitFrame set cosas = 7 end Si hubieramos declarado la variable cosas en otra parte del programa obtendriamos un error. Podemos realizar operaciones con ella en el ·mbito del handler mouseDown pero no podemos usarla en otra parte del programa. Una variable inicializada como: set cosas = 2. el valor resultante se multiplica por cuatro y a este valor final se le resta 5. (Variables locales y globales). ya que Director no recuerda nada sobre esa variable. Una variable local asi. Tambien podemos realizar operaciones con mas de una variable a la vez: set cosas1 = 2 set cosas2 = 3 set cuantasCosas = cosas1 + cosas2 o tambiÈn: set cuantasCosas = (cosas1 + cosas2) / 4 -.hemos sumado el valor de cosas1 y cosas2 y el resultado lo dividimos entre cuatro. En todos los lenguajes de programacion modernos esto se hace para permitir mayor flexibilidad en la asignacion de nombres a las variables. Asimismo tampoco podemos usar esta variable en otro handler o en otro cuadro e pelicula fuera del handler donde fuÈ inicializada. como por ejemplo: 8numeros. los operadores entre parentesis son los que primero se eval™an y su valor luego es aÒadido a la siguiente operacion fuera de los parentesis. Si declaramos una variable dentro de un Handler mouseDown.5 En este caso primero se suma 2+2.

Estos ejemplos eran variables locales: definidas y con un ·mbito de vida restringido al handler donde fueron creadas. podemos crear un Handler donde inicializar la variable global. Para tener variables perdurables en memoria durante todo el programa. por lo tanto permanecera en memoria hasta que apagemos el ordenador.este procedimiento no es muy recomendable. para controlar con que variable esta trabajando. usamos las variables globales. ya que se puede prestar a confusiones del programador. como por ejemplo al comenzar la ejecuciÛn: on startMovie global numClics set numClics = 0 end Y establecer la cuenta de esta variable en otro handler mouseDown: on mouseDown global numClics set numClics = numClics + 1 end Asi podemos incluir en el handler una sentencia de comprobaciÛn para saber si el usuario ha pulsado el botÛn del ratÛn diez veces: on mouseDown global numClics set numClics = numClics + 1 if ( numClics = 10 ) then alert "has pulsado el ratÛn 10 veces" end if end O llamar a esta variable desde otra parte del programa u otro Handler. Ejemplo de variable global: global cosas set cosas = 0 Esta variable la hemos declarado como global. on exitFrame global numClics if ( numClics = 10 ) then alert "has pulsado el ratÛn 10 veces" end if end Este es el estilo de Director con las variables locales y globales. . Si por ejemplo queremos llevar la cuenta de los clics que hace el usuario con el ratÛn.

... ...Para destruir de la memoria las variables globales.. el problema estaria resuelto con un bucle sencillo. para liberar la memoria del ordenador.final del bucle repeat while not terminado -....acciones a repetir --end repeat .. Esta expresiÛn puede ser cualquier variable que se pueda evaluar como verdadera (TRUE) o falsa (FALSE). un fragmento de cÛdigo que se encarga de gestionar una tarea repetitiva. Para evitar esto y otras muchas cosas. Asi por ejemplo para el caso anterior. Por ejemplo: repeat while the mouseH > 40 -.realizar algunas acciones-end repeat -. Y asi hasta que se le durmieran los dedos.. set the puppet of sprite 1 to true set the puppet of sprite 2 to true set the puppet of sprite 3 to true .. repeat with x = 1 to 45 set the puppet of sprite x to true end repeat -------------------------------------------------------En Lingo hay dos tipos de bucles: "repeat with" y "repeat while"... un mal programador escribirÌa... -------------------------------------------------------El bucle "repeat while". utilizamos la sentencia clearGlobals. Bucles en Lingo: "repeat with" y "repeat while" Los bucles se usan en programaciÛn para conseguir que un programa repita una serie de pasos o acciones hasta alcanzar un objetivo. Cuando necesitamos por ejemplo declarar como "puppet" todos los sprites del score desde el 1 hasta el 45... por ejemplo al cerrar el programa..... debemos usar bucles. Este es un bucle que ejecuta su cÛdigo en funciÛn una expresiÛn de control. Basicamente un bucle es una tarea organizada..

acciones a repetir mientras el ratÛn est· pulsado --end repeat Este otro bucle consigue detener la pelicula durante dos segundos. . Este es un "bucle contador". con los bucles repeat while. las pulsaciones del ratÛn y las animaciÛnes se detendr·n." end repeat Hay que tener cuidado. ya que estos forman parte de cualquier estructura de cÛdigo en cualquier lenguaje de programaciÛn. sin embargo. startTimer repeat while the timer < 5 * 60 put "Esperando. ya que mientras est·n funcionando. Por ejemplo: repeat with x = 1 to the number of words in field "textos" if word x of field "textos" = "lingo" then Alert "Has escrito Lingo" end repeat Este bucle repite a acciÛn de b™squeda desde 1 hasta el numero de palabras que hay en el campo "textos". Este otro bucle simplemente realiza una cuenta de 1 a 260. realiza la misma cuenta de 1 a 260.repeat while the stillDown -.. Al menos solo debemos hacer funcionar estos bucles siempre y cuando sea facil "romperlos". absorver·n toda la atenciÛn del programa por lo que. repeat with cuenta = 1 to 260 set cuenta = cuenta + 2 put cuenta into field "msg" end repeat Es facil imaginarse cientos de utilidades para los bucles. pero contado de dos en dos. hasta la programaciÛn de la trayectoria de una pelota de futbol o un proyectil en un juego. Siempre que queramos realizar acciones repetitivas en un programa debemos recurrir a los bucles. desde una simple cuenta. ya que el valor de la variable "cuenta" es aumentada en 2 en cada iteraciÛn del bucle. contando de uno e uno. -------------------------------------------------------El bucle "repeat with".. repeat with cuenta = 1 to 260 set cuenta = cuenta + 1 put cuenta into field "msg" end repeat Este otro. Realiza una serie de acciones hasta alcanzar un n™mero predefinido por el programador. y la imprime en un campo de texto.

. asi como simplemente pueden ser archivos externos en formato: DIR.Ventana sin botones maximizar o minimizar.Rect·ngulo con sombra. Para esto necesitamos una pelicula principal y una serie de pelicuals que conformar·n cada una su ventana independiente en su momento. arribaY. set the windowType of window "miPeli" to 2 -. set the windowType of window "miPeli" to 1 -.dir" Con este comando b·sico se nos abrir· una nueva ventana flotante del tamaÒo de la pelicula que contiene y que funciona por si misma. set the windowType of window "miPeli" to 49 -.Rect·ngulo simple. set the windowType of window "miPeli" to 8 -. etc. DCR.150.Ventana de tipo paleta flotante. set the windowType of window "miPeli" to 16 -.10.Ventana de alerta. etc. colocados en el mismo directorio del proyector. set the windowType of window "miPeli" to 3 -. Basicamente trabajar con MIAW (Movie in a Window). DXR. o haber sido incluidas en el proceso de crear el proyector. abajoY): set the rect of window "miPeli" to rect(10. . es crear una ventana y asignarle a esta ventana una pelicula de Director.Ventana normal.100) Asimismo podemos cambiar el tipo de ventana (su estilo) utilizando el mÈtodo windowType: Por ejemplo: set the windowType of window "miPeli" to 0 -. set the windowType of window "miPeli" to 4 -.Ventana normal con scroll sin botones maximizar o minimizar. abajoX. pero por supuesto hay muchisimo m·s.Ventana con redondeada. y por lo tanto acopladas al proyector luego. Para cerrar esta ventana desde Lingo el script ser·: forget window "miPeli. Podemos asignar un nombre de archivo diferente a la ventana en cualquier momento con el script: set the filename of window "miPeli" to "miPeli2.dir" Podemos situar exactamente la ventana en la pantalla con el metodo rect(arribaX. Para abrir una ventana el script b·sico de Lingo es: open window "miPeli.Ventana normal con scroll.dir" Con esto tenemos el trabajo m·s b·sico que podemos realizar con ventanas en Director. set the windowType of window "miPeli" to 12 -. De este modo se puede tener una pelicula principal y abrir en cualquier momento nuevas ventanas que actuen como selectores o barras de herramientes. Estas peliculas secundarias pueden estar importadas en la misma ventana cast.Movie in a Window Otra carateristica interesante de Director es el trabajo con ventanas independientes y las posibilidades de compartir datos entre ellas.

. De igual modo podemos enviar variables globales a la pelicula en ventana desde la pelicula principal: global miVar set miVar = field "info" tell window "miPeli" put miVar into field "info2" end tell end Tambien. por encima del plug-in de Flash.. manejo de bases de datos. chats IRC. En el proximo capitulo veremos como utilizar men™s en nuestras aplicaciones de Director getPref y setPref (Cookies en Director y Shockwave) (descargar la pelicula de ejemplo) Shockwave es una de las mas potentes formas de publicar multimedia en internet.Y tambiÈn por supuesto podemos cambiar su tÌtulo en cualquier momento: set the title of window "miPeli" to "Hola soy una MIAW" Intercambiar datos entre ventanas: Este es sin duda el elemento m·s interesante de la programaciÛn con ventanas m™ltiples en Director. Shockwave va mucho mas alla.. Para dirigir nuestros script de Lingo a una ventana en concreto utilizamos en comando tell: tell window "miPeli" set the puppet of sprite 3 to true set the locH of sprite 3 to x if (field "mio" = EMPTY) then alert "El campo est· vacÌo" end if end tell Todo el script encerando entre "tell" y "end tell" se refiere a una ventana en concreto y por consiguiente actua sobre su pelicula exclusivamente.. Sin embargo ahora veremos una utilizaciÛn muy sencilla de Shockwave y proyectores de Director para escribir cookies en el navegador cliente y preferencias de una aplicaciÛn de Director. mas o menos es todo en cuanto a ventanas. usando el script tell the stage to. que si bien es optimo para animaciones vectoriales interactivas. podemos volver a "hablar" con la pelicula principal (el escenario). utilizando el Shockwave Multiuser Server para aplicaciones multiusuario. como no. etc.. tell the stage to set the puppet of sprite 2 to false Y esto.

de forma que se conservaran mientras el usuario no las borre. rcoger· el texto escrito en un campo de texto llamado "TF" y los escribira en el archivo externo de preferencias llamado: "datos" Este otro script recupera esos mismo datos y los escribe en el campo de texto llamado "TF". incluyendo secretos sobre como hacer juegos en 3D. las sentencias setPref ( ) y getPref ( ) escriben y leen respectivamente de una carpeta en el mismo directorio de la aplicacion los datos escritos desde el programa. Cuando utilizemos setPref ( ) se creara la carpeta y se escribira un documento de texto con un nombre en concreto con los datos que enviemos.. apreciareis sin duda la manera tan sencilla y limpia de hacer lo mismo desde Director. esto es muy util para muchas cosas. en el caso de Shockwave nos permite por ejemplo recordar el nombre y las preferencias del jugador. como muchos sabreis es la forma en que muchas aplicaciones en red. setPref ( ) creara una carpeta en el directorio del navegador del cliente.. . recuperara esas preferencias en cualquier momento en que ese mismo usuario vuelva a utilizar nuestra aplicaciÛn Shockwave. escriben datos en el navegador del ciente para recordar cosas tales como la ultima vez que visitamos la pagina. En una aplicacion en red con Shockwave. etc. getPref( ).Una Cookie (galleta). Y por supuesto para otras muchas cosas que podreis imaginar por vosotros mismos. texto end Este sencillo script asignado a un boton. Los que sepais como escribir cookies desde Flash o Javascript. En una aplicacion de Director (un proyector). para que pueda ir avanzando niveles en nuestro juego en red de forma personalizada. En el siguiente capitulo continuaremos descubriendo las maravillas de Director. Veamos dos ejemplos: on mouseUp me global texto set texto = field "TF" setPref "datos". datos que luego se puede recuperar con getPref ( ). llamada "Prefs" y alli escribira las preferencias. on mouseUp me global texto set texto = getPref("datos") put texto into field "TF" end Sencillo øno?.

Ahora vamos a centrarnos en aprender como trabajar con CGI y ASP del lado del servidor.asp?juego="3enraya"&puntos. Mas adelante aprenderemos un poco sobre como hacer juegos con chats IRC. Bueno. El resultado real de la cadena de arriba seria finalmente: "http://miservidor.=" & puntos & "&user.. que cada vez cobra mas fuerza. nuestro siguiente script se encargará simplemente de enviarla con el comando de Lingo: "getNetText". ¿Como hacer juegos multijugador en red? ¿Como enviar o recibir variables de un CGI?. y la inclusión de peliculas interactivas.=pepe " Una vez tenemos ya la cadena a enviar al CGI. Lo hacemos con: getNetText( url ) Siendo "url" la variable de texto que habiamos construido antes. hemos creado una cadena para enviar con texto y variables y la hemos enviado a la pagina ASp o al CGI del servidor. utilizando el Shockwave Multiuser Server de Director. en paginas web accesibles a traves de internet. hasta aqui todo bien ¿no?. es la publicación en formato Shockwave.. aparecen nuevas necesidades de comunicación para nuestras peliculas. En este contexto. etc.com/puntos. getNetText para enviar variables al CGI: Veamos este script: set url = "http://miservidor.=" & jugador getNetText( url ) En este scrip. como juegos... para enviarle datos o recibir sus respuestas. en primer lugar creamos una variable que contenga una cadena en el formato correcto para ser enviada a una pagina ASP. . En el capitulo anterior vimos como escribir algo parecido a "cookies" con Shockwave.asp?juego="3enraya"&puntos=3&user.com/puntos. etc. Lo hacemos con "set url = .getNetText ( ) Uno de los modos de publicación mas usados en Director hoy dia.".

de un formulario de una pagina. Si esta operación ha finalizado (cuando netDone sea igual a TRUE ). como vosotros querais. Pero ¿Como atrapamos nosotros su respuesta?. Para esto utilizamos el comando de Lingo netDone(netID). para comprobar que netID haya finalizado. Para esto en el siguiente cuadro de pelicula preparamos un script de forma que la pelicula no avanze mientras los datos del ASP no lleguen de vuelta. Se supone que esta pagina ASP ya existe y responde adecuadamente con un valor. (Tambien puede llamarse de otra forma. etc ? getNetText para recibir variables del CGI: set netID = getNetText ("http://miservidor. yo he sido hortodoxo).En este script no esperamos ninguna respuesta del servidor. Pero. simplemente enviamos los datos y seguimos a lo nuestro. El resultado de la operación de red.com/database.text = netTextResult(netID) go next end if .Form".asp") Este script. Si os fijais vereis que he asignado un identificador a la operación getNetText. Director recuerda que la operación de red en curso se llama "netID". llama a una pagina ASP. ¿y si queremos cargar los datos que nos pueda devolver un CGI. Ahi teneis el script completo: on exitFrame go to the frame global netID if netDone(netID) then member("datos"). Esto vamos a utilizarlo para recuperar la informacion cuando esta venga de vuelta. ponemos el resultado de la operación contenida en el campo de texto llamado "datos". unas variables de sesión. Asi. como un registro de una base de datos. lo recuperamos siempre con el script: netTextResult(netID). cuando se la llama. y esta responde como si hubiera recibido cualquier otro "Request. con "set netID =".

El codigo es muy sencillo de convertir a Flash y es recomendable examinarlo a fondo en la pelicula que descargueis.sin en Flash 5. de forma que luego la podemos mantener en memoria para consultarla o manipularla de muchas formas.Como veis. y si esta es TRUE. para imprimirlo o pegarlo en vuestros proyectos. para recuperar los datos y continuar si se quiere. primero se comprueba netDone( ) . Para estos propositos es costumbre realizar la llamada en un cuadro. o sea si ha terminado la operación.. porque en todo momento conocemos la situacion del tablero gracias a nuestras listas del juego. Veamos la primera.cos y Math. Las Listas: En Lingo existen dos tipos de Lista: la Lista Simple y la Lista de Propiedades. y hacer simulaciones de todo tipo. ¿Como llevar la cuenta de las fichas de dos o mas jugadores en un caso como este? Para esto y muchas cosas mas tenemos las Listas. veremos como hacer girar objetos de distintas formas. Decargar la pelicula de ejemplo en formato Director 7 Uso de Listas en Lingo. Recordad que no debeis poner en el mismo cuadro la petición y la espera de respuesta. la petición se repetiria una y otra vez sin dar tiempo a llegar la respuesta y de seguir la pelicula avanzando no daría tiempo a recibir la respuesta. sin subirse encima de otra ficha del mismo color. Con ellas no solo podemos tener las posiciones de las fichas. se recoge el resultado con netTextResult( ). la Lista Simple: . Trigonometria para Juegos ( parte 1) En esta pelicula de ejemplo. utilizando las funciones cos y sin en Director o Math. Durante el juego esas fichas al ser movidas o comidas pasaran a tener otra posicion distinta a la inicial. Las listas en Director son un recurso muy potente e imprescindible de utilizar en casi cualquier proyecto. Supongamos el caso de un tablero de damas o ajedrez en donde las fichas estan colocadas en una casilla inicial. y en el siguiente cuadro esperar a que la variable global netID se complete. Esto es muy util para mover objetos en juegos. ya que de haber un bucle en ese cuadro. al dia sino que ademas podemos consultarlas para averiguar si una ficha que va a ser movida hara un movimiento valido. Tambien veremos como hacer que un objeto se desplace hacia la posicion del raton. Basicamente una Lista de Lingo es una forma de almacenar informacion ordenadamente. y se pone en el campo de texto llamado "datos" para que podamos verlo.

-. x) put dato end repeat -.devolveria el segundo valor de la lista: #alfilnegro Podemos saber tambien el numero de elementos que tiene una lista con count(milista) . por ejemplo: num = getPos(milista. por ejemplo. Para añadir un valor a la lista podemos utilizar la funcion: add(milista. posicion) global milista getAt(milista.ahora la lista tendra los valores: [#peonnegro. pasara a ocupar el lugar siguiente. #alfilnegro] Para recuperar los datos existentes en una lista utilizamos la funcion: getAt(lista. Esto nos devolvera un numero que corresponde con la posicion del elemento en la lista. por ejemplo: global milista add(milista.Para definir e inicializar una lista vacia simple en memoria sobre la que trabajar utilizamos: global milista limista = [ ] Aqui tenemos una lista vacia. #peonnegro) -. posicion) pero debemos estar seguros de que ese dato existe para no provocar un error en el programa. global milista add(milista. que corresponde a la posicion de este elemento en la lista. #peonnegro) -.Este bucle iria recogiendo todos los elementos de la lista desdel uno hasta el ultimo.Ese dato recogido de cada iteracion del bucle se lo hemos ido asignando a la variable dato. esperando a ser llenada con informacion. #alfilnegro) -. 2) -. valor).ahora la lista tendra el valor: [#peonnegro] Si añadimos un nuevo valor a la lista. por ejemplo: repeat with x = 1 to count(milista) dato = getAt(milista. Tambien podemos recuperar un dato en una posicion de la lista con gePos(lista. Asi podriamos utilizar un bucle para extraer todos los elementos de una lista. .num pasaria tener el valor 1.

"H1V1") addProp(milista. pero en Lingo tenemos otro tipo de listas mas sofisticado: Las Listas de Propiedades: Este tipo de listas se diferencian de las primeras en que almacenan la informacion segun una clave y un valor. clave : valor]. 233)) Ahora nuestra lista tendria este formato: [#peones: 5. 233)] Normalmente utilizamos las listas para almacenar el mismo tipo de datos. #alfilnegro: "H1V1".Si queremos borrar un valor de la lista simple utilizamos la funcion: deleteAt(lista. por ejemplo el script: getAprop(milista. podemos tener una lista para las posiciones. clave. Para recuperar el valor de una propiedad de una lista utilizamos: getAProp(lista. #peones. etc. por ejemplo: addProp(milista. Fijaros que el formato de las Listas de Propiedades es siempre: [clave : valor . #alfilnegro. Para inicializar una lista de propiedades vacia utilizamos el simbolo " : " en el interior de la lista para indicar a Lingo de que se trata de una lista de propiedades y no de una lista simple. que es el valor de la propiedad #reyblanco. de la lista milista. 4) addProp(milista. #reyblanco. otra para las fichas comidas. otra para las casillas vacias. global milista limista = [ : ] Para añadir un valor a esta lista con su clave utilizamos: addProp(lista. devolveria el valor point(280. este ejemplo anterior era solo ilustrativo. point(280. propiedad). igual que si se tratara de una variable con sus partes. #reyblanco: point(280. #reyblanco). Este valor pasa a ser asociado a su clave. nombre y valor. . 233).. valor). pudiendo ser recuperado simplemente a traves de su clave. posicion) Finalmente si quisieramos vaciar por completo una lista simplemente tendriamos que señalarla como vacia del mismo modo que la inicializamos antes: global milista limista = [ ] En definitiva las listas simples nos permiten almacenar objetos de forma ordenada..

así como también "movies" de Flash. los que permiten ver nuestros trabajos en cualquier computadora. Llamamos multimedia a un producto que incluye audio.. vídeo. Su versatilidad le permite incluir múltiples formatos de imagen. video y audio. valor) Por ejemplo el script: setAprop(milista. Las Listas y su uso es algo practicamente imprescindible y aunque si estais aprendiendo aun a programar os resulte quiza un recurso poco util o incomodo.Si queremos cambiar el valor de una propiedad ya determinada de la lista utilizamos: setAProp(lista. Pero qué es esto de "crear aplicaciones multimedia"? Como Uds. #peones. sin necesidad que esta tenga instalado Director.Director nos permite la inclusión de estos elementos en nuestros trabajos. textos. #alfilnegro: "H1V1". y por lo menos en cuanto a mi . Y Multimedia es un término que se refiere a la integración de distintos medios en un mismo contexto. los directorios de disco. una completa base de datos con lo que necesitara vuestro programa para funcionar. #peones) obtendriamos el numero 17. animación. #reyblanco: point(280. seguramente sabrán. con lo que la lista tendria ahora este formato: [#peones: 18. en la memoria del ordenador. imágenes en 2D y 3D. Se os puede ocurrir tambien combinar esto para guardar los datos de las listas en el disco. 18) asignaria a la clave #peones el valor 18. Quizá sea por esto que sus herramientas no le permiten una gran ductilidad a la hora de crear sus propias interfaces gráficas. ¿Habeis pensado como Director y otros programas conservan la posicion de las ventanas. Podemos decir también que Director es un gran "integrador" de recursos. etc. con las funciones setPref y getPref para poder recuperarlos en cualquier otro momento. clave. que no necesita más que el sistema operativo para funcionar. Director crea sus "proyectores". cada vez que los abris? Estos programas usan algo muy parecido a las Listas de Lingo para mantenerse personalizados por los usuarios. Con las Listas siempre teneis ahi. una aplicación es un programa autónomo. 233)] Si ahora consultaramos el valor de esta clave en la lista con getAprop(milista. Hasta aqui hemos visto como trabajar con Listas en Lingo y como recuperar y manejar los valores almacenados en ellas. segun vayais entrando en la programacion y vayais usandolas vereis como es dificil entender como habiais hecho las cosas hasta ahora sin ellas. Pues bien.. De hecho. Primeramente definir a Macromedia Director: es un programa de autor que sirve para la creación de aplicaciones multimedia .

etc). Photoshop. que es el lugar en donde se desarrolla la acción del movie (película) de Director. Tiene múltiples opciones referidas a infinidad de elementos.experiencia personal se refiere. correspondientes a Botón de Stage (Escenario): muestra u oculta el Stage. Freehand. en donde ponemos los objetos. Pero centrémonos un poco en la barra de herramientas En la parte casi central de esta barra veremos tres botones los tres principales ámbitos de trabajo de Director. inicialmente no hay nada novedoso. A aquellos que ya sepan algo de Flash les resultará un contexto familiar. sino por Lingo. es preferible crear estas interfaces en otro programa (Fireworks. La versatilidad de Director no se logra tanto por sus herramientas. y del que en este tutorial veremos lo básico e indispensable como para empezar a trabajar con cierta complejidad. el lenguaje que nos permite sacarle el máximo de posibilidades. pues guarda el típico formato de interfaz que vemos en muchos programas. que es el lugar endonde se agrupan todos los elementos que usaremos. basta de palabras y empecemos con lo nuestro. Pero bueno. Con respecto a su interface: no es difícil. Botón del Cast (Reparto): como lo indica el nombre. Actúa de modo similar a las librerías de Flash o Fireworks. Elementos de la interface Como vemos. pero sí compleja. y luego importarlas desde Director. dándonos la posibilidad de reutilizar un . muestra u oculta el "Cast" de este movie. y el resto se hará más fácil. y a aquellos que no sepan les anticipo lo que se anticipa ante cualquier aprendizaje: un poco de esfuerzo. o sea.

Para dibujar un círculo en el stage. 3. que es el lugar en donde se define qué acciones harán los personajes. aunque. por defecto. y por cuanto tiempo. Pero empecemos trabajar para darnos cuenta de su funcionamiento básico.elemento varias veces. en esta imagen de abajo: 1. en qué momento. luego podemos modificar esta duración. . 4.Este círculo pasó inmediatamente a formar parte del Cast. una duración de 28 fotogramas (frames) en el canal 1 del Score. sin necesidad de crearlo nuevamente. con el Stage de fondo. y se le asignó el número 1 sencillamente porque es lo primero que hicimos. Botón del Score (Guión): muestra u oculta el "Score". obviamente. por ejemplo.A su vez. Para quienes conocen Flash. 2. Fijémonos. este "personaje" tiene asignada.Hemos seleccionado la herramienta de Figura circular con relleno. su interfaz es similiar. Aquí tenemos las tres ventanas visibles: el Cast y el Score.

Nosotros. e hicimos el círculo. Cast Window: .Vamos ahora a explicar brevemente el funcionamiento y la interacción de estas partes: En la paleta de herramientas tenemos las siguientes: Como se puede ver. la distribución y tipo de herramientas es similar a los demás editores de imágenes. En el Stage sólo pasa que el personaje aparece. elegimos la herramienta circular rellena. para hacer el círculo anterior. Veamos ahora el Cast.

Para esto: a) Clickeamos en un cast member vacío con el botón derecho. y luego dándole Enter. Como vemos. o importados desde otras aplicaciones. escribiendo el nombre en la caja de texto que llamamos "Dragueo del cast member". equivale a la librería en un movie. lo seleccionamos. b) Utilizamos la opción "Import". y luego procedemos de acuerdo a las opciones que aparezcan. que puede ser reemplazado por un nombre que le demos nosotros. clikeando sobre él. Cada uno de estos personajes puede ser reutilizado sin necesidad de ser creado nuevamente. sin necesidad de que lo dibujemos nuevamente. Los miembros del Cast pueden ser nativos de Director (creados en Director. ¿Qué elementos pueden ser importados a Director como "Cast member"? A continuación puede ver una lista de los distintos formatos: . c) Buscamos el elemento. cada miembro del cast tiene un número. El círculo del ejemplo podemos usarlo cuantas veces lo necesitemos.Es la ventana que guarda todos los personajes de la película de Director. como el círculo del ejemplo). Para los que conocen Flash.

Scrapbook (Macintosh). movies de Director. Score Window: . LRG (xRes).ANIMACIONES Y MULTIMEDIA: Flash (swf). TIFF. también permite importar capas de Photoshop o de Fireworks como elementos independientes. WAV.5 permite importar audio y video en RealMedia. AVI. sin compresión. GIFs animados. PICT. . GIF.TEXTO: RTF.. . MacPaint. . JPEG. . Photoshop CLUT. PICS. Cast's externos de Director. Photoshop.VIDEO: Quicktime. Y la versión 8. archivos multi imagen en FLC y FLI (Windows). ASCII.PALETAS DE COLOR: PAL.IMAGENES: BMP. . Targa. MP3. Shockwave Audio.Con plug-ins adicionales. e IMA comprimido. así como elementos y ambientes en 3D en formato W3D. QTVR. sonidos de System 7 (Macintosh). Sun AU. HTML.AUDIO: AIFF. . Power Point. PNG.

etc). contínuamente. Canal de Paleta: contiene la información sobre los cambios en las paletas de color de la película. Canal del Script: en él especificamos las órdenes que se ejecutan automáticamente cuando la película llega a determinado frame. desplazamientos. Canal de Trancisiones: permite crear efectos especiales en la trancisión de un frame a otro (fundidos. tales como cambiar de velocidad (en frames por segundo). Canales de sonido: son dos. Canales de sprite: son los canales en donde van los personajes de la película. y almacenan archivos de sonido que se pueden ejecutar a la vez. un click).Los canales del sprite son aquellos en donde medimos y definimos la acción de los personajes. . o detenerla a la espera de una acción del usuario (por ejemplo. detener la película durante un tiempo determinado. o durante un tiempo determinado.En la paleta de herramientas seleccionamos la de círculo con relleno y dibujamos uno en el stage. Nos queda ahora repasar lo visto hasta ahora mediante algún ejercicio: 1. Canal de Tiempo: en él introducimos las modificaciones necesarias en el tiempo de la película.

2- Con el botón para mostrar el Score lo hacemos aparecer. Ahí observaremos que el círculo aparece ocupando los 28 fotogramas por defecto que asigna Director a cada personaje. Pinchamos en el último fotograma y lo llevamos hasta el 40. de este modo prolongamos la permanencia del círculo en la escena.

3- Con el botón para mostrar el Cast lo hacemos aparecer, seleccionamos el círculo, y en el casillero superior le asignamos un nombre, y luego Enter. Observaremos que el personaje del cast toma el nombre que le dimos. Ese mismo nombre lo podremos ver en el Score.

4- Hacemos clic en el fotograma final, y posicionados ahí, volvemos al Stage y tomamos el círculo con el mouse para moverlo hacia cualquier lugar. Nos quedará algo más o menos así:

5- presionamos con el botón derecho en el frame Nº 20 y seleccionamos la opción "Insert Key Frame". Este "key Frame", al igual que el del principio y el del final, marcan un estadío o momento del elemento que estamos trabajando. El del principio, está señalando la posición inicial del círculo; el del final, marca la nueva posición que ya le hemos dado; y ahora este del medio, marcará otro logar a donde queremos que se mueva en la mitad de su trayecto. Nótese además, en el Score, que el círculo ya tomó el nombre que le habíamos dado en el Cast. esto es importante, pues es de extrema importancia trabajar en orden y que cada elemento tenga su nombre, a fin de, posteriormente, identificarlos sin dificultades.

6- Bien, volvamos al Stage, y hagamos click en el botón de Play . Veremos que el círculo recorre el trayecto que le señalamos de modo repetido. O sea, está "loopeando" (lupeando) o repitiendo el movimiento. Esto es porque en ningún momento le hemos señalado que se detenga. Para darle esta orden hacemos doble click en el canal de comportamientos, a la altura del último frame. Se abrirá la siguiente ventana:

Esta es la ventana en donde pondremos todas las órdenes en Lingo, el lenguaje que hace de Director un instrumento relamente dúctil. "on exitFrame me" y "end" son cosas que aparecen por defecto. Nosotros hemos introducido la orden "go to the frame" a la altura del último frame pero en el canal de comportamientos. Esta orden equivale a un "Stop", o sea, a decirle que se detenga. De hecho, si vamos nuevamente al Stage y ejecutamos la animación, veremos que el movimiento ya no se repite, sino que se detiene al llegar al final. Bien, este es el principio de funcionamiento que tiene Director, y es así como básicamente fuinciona el tema de insertar nuevos elementos y animarlos. Pruebe haciendo lo mismo con varios elementos de los que le ofrece la paleta de herramientas, y en la próxima entrega, empezaremos a trabajar intensamente en la interrelación entre los distintos comandos, y ya con importación de elementos externos a Director. ir a siguiente capitulo

Comencemos partiendo de nuestro ejercicio final de la clase 1, en donde básicamente teníamos lo siguiente:

Sólo resta darle OK. para que la película se detenga hasta que alguien haga click con el mouse en cualquier parte.1. con el trayecto que nosotros le habíamos asignado. "Wait for Mouse Click or Key Press". obviamente. le estamos diciendo al elemento que. Aparecerá el siguiente panel: Si seleccionamos "Tempo". vamos a empezar a aplicar algunos efectos. con un "key frame" al principio. 3. el "go to the frame". otro al final. y es otra variante del Wait. podremos cambiar la cantidad de frames por segundo que procesa la película de Director. Si seleccionamos "Wait". o presione alguna tecla del teclado. a menor cantidad. y otro en el medio. aumentando o disminuyendo la cantidad de segundos que queremos dure la pausa. es esperar por un click del mouse o por la presión de una tecla. Hagamos doble click en el canal de tiempo. que equivalía a un Stop. primeramente en el canal de tiempo. y cuando ejecutemos mediante el botón de Play veremos que al . A mayor cantidad de frames. llamado "Círculo".Lo dicho: en el Score vemos la cantidad de frames que ocupa el elemento llamado "Círculo". asignado por nosotros. Y "Wait for Cue Point" es otra variante que veremos más adelante.En el Cast aparece el elemento junto con otro: la acción que le asignáramos en el canal de eventos. Cada uno de estos marca distintas instancias o posiciones del elemento dentro de un trayecto.En el Stage tenemos el elemento que dibujamos. ¿Cuánto tiempo se detendrá? Lo podemos definir al lado. Todo esto. 2. Efectos en el canal de Tiempo: Sobre este mismo ejercicio. en ese frame. más lento. a la altura del Frame 20. se detenga. más rápido será el movimiento. que es la medida por defecto. ¿recuerdan?. Por ahora lo dejaremos en 30 frames por segundo.

c) Affects: aquí determinaremos si el efecto se realiza sólo en el elemento seleccionado. . Sólo como ejemplo vamos a seleccionar "Cover down" 3. vamos a seleccionar COVER. primeramente. 2. elegimos algún tipo de efecto que nos guste. o en TODO el Stage.Click con el botón derecho en un lugar vacío del Cast Member. b) Smoothness: la "suavidad" con que se hará esa trancisión. Sólo como ejemplo. y luego "Import". debe tener seleccionada LA o LAS imágenes a las que quiere aplicar este efecto. hay que importarlos. Por lo que recomiendo ensaye varias de ellas para ir viendo de qué se trata cada una. Lo único que debe tomar en cuenta es que.llegar al frame 20 se detiene la cantidad de segundos que le hayamos determinado. los sonidos. Lo haremos paso a paso para repasar lo de la clase anterior.Dentro de la categoría seleccionada. Aparecerá el siguiente panel: 1. o bien espera hasta un click o hasta una tecla que se presione. 1. así que.Seleccionamos la categoría de trancisión que queremos darle al elemento.En la parte inferior configuramos: a) Duration: cuánto tiempo en segundos durará el efecto de trancisión. La mejor manera de aprender el funcionamiento de las trancisiones es probando. Efectos en el canal de Trancisiones: Vamos a darle un efecto de trancisión al comenzar el movimiento. antes de aplicar la trancisión haciendo doble click en el canal de trancisiones. Efectos en el canal de Sonidos: Como viéramos en la primera clase. pero conviene tenerlo presente de ahora en más. doble click en el canal de trancisiones a la altura del frame 1.

pagan poetry". ir a otra. seleccionar un archivo de esa otra carpeta. y desde varios lugares. Una vez terminada. y en cuanto lo seleccioné. Esto me sirve para importar varios archivos a la vez. y pasó a formar parte de una lista. Pero una vez seleccionado el archivo hice click en ADD. ahora estamos importando este archivo desde la carpeta "My music". hubiese podido hacer click en IMPORT. Por ejemplo. Algunas aclaraciones: yo elegí el archivo de sonido "bjork .Buscamos el archivo de sonido que necesitamos. y hacer click en ADD nuevamente. hago click en IMPORT. puedo salir de esta carpeta. de carpeta en carpeta hasta que tenga completa la lista de archivos que quiero importar. sin importar que estos estén en distintas . y con eso estaba terminada la operación. e importará toda la lista de archivos. Y así. una vez incluido en la lista con ADD.2.

Pruébenlo haciendo clic en Play . y si el archivo de sonido es largo. y se halla en el "sprite" 1. .carpetas. Podemos trabajar con varios. y lo llevamos al primero. o sea. sólo era este. nuestro movie llega sólo hasta el frame 40. Obviamente. aunque el tema sea más extenso. 28 Frames. pero primeramente aprenderemos a navegar dentro de uno solo. 3. e interactuar o navegar entre ellos. si extendemos el sonido a más fotogramas. tomamos el archivo de sonido del Cast. esto quiere decir que. se callará en el frame 28. luego el movie sigue en silencio. este durará más. lo verán: sólo llega hasta el 28. En nuestro caso. Todo esto para el caso en que queramos importar varios archivos. Allí tomo la extensión por defecto que le da Director. Navegación dentro de un mismo "movie": Hasta ahora estamos trabajando dentro de un solo movie.De los dos canales de audio que tenemos en la ventana del Score. Hasta ahora.

por defecto. Y lo hacemos posicionándonos (haciendo click) en dicho frame. Pero nosotros sólo lo necesitamos presente en un frame: el último del primer círculo. A la marca le ponemos cualquier nombre que nos sirva de futura referencia. haciendo clic en la barra blanca.A fin de crear una referencia para la navegación.1. 4. Nótese que. y luego dibujando la imagen en el Stage. reducimos la cantidad de frames a ese solo. creamos una "marca". le ponemos el texto que querramos. en el sprite 2. . así que. Dentro de él. 2. pero a partir del frame 45. Este botón será el que nos sirva para hacer el "salto" hasta la otra escena del movie. que se halla en la paleta de herramientas.Volvemos al último frame del primer elemento y allí insertamos un botón de la paleta de herramientas.Ahora vamos a agregar otro elemento. 3.Para cambiar un poco el color de la imagen. arriba de los canales de efectos. recurrimos a la paleta de colores de relleno. toma la cantidad de frames que encuentra vacíos desde el frame 40 hasta el próximo frame ocupado.

y luego vamos a "script".Allí nos aparecerá la siguiente ventana: . hacemos clic con el botón derecho sobre él. 6.5.Para asignarle la acción al botón.

al frame 1 de la película indicada. Este comando le dice que vaya a "next". al 3? Pues entonces: . por ejemplo. Bien. debe ser go to movie "nombre del movie". a la altura del último frame del círculo rojo.El texto que aparece remarcado es el que deberemos escribir. y haciendo clic sobre él. y para que el movie no vuelva al principio. haremos que el botón ocupe un solo frame. cuando el círculo negro llegue al final de su movimiento. Además. Si todo está bien. aparecerá el botón para ir al círculo rojo. iremos directamente al círculo rojo. por defecto. en este caso se llama "clases2". y Director interpreta que NEXT es la próxima marca existente. ¿Y si queremos que en vez del frame 1 vaya a un frame específico. Pues en ese caso en vez de "go to next". ahora podemos probar la película. le agregaremos en el canal de eventos. Navegación hacia otro "movie": Supongamos que la idea es que el botón nos lleve a otro movie de director. el comando que ponemos en el script del botón. y como queremos que el botón sólo aparezca al final de la animación del círculo negro. en este caso "circrojo". el "go to the frame" para que se detenga allí. y recuerde que el nombre del movie va siempre entre comillas. El botón nos vinculará.

un link. por orden alfabético. Categorized Lingo: igualmente. manejo de sonidos. pero agrupa las sentencias por categoría (navegación. etc. Ahora macromedia ha recopilado los mecanismos más comunes en una librería.). poniendo determinadas sentencias que servían para que esta "manito" apareciese. o sea el esquema de cada una de las sentencias. Antes esto se solucionaba en Director con lingo. por ejemplo. Utilización de "Library Palette": habrá notado que el botón no tiene la típica "mano" que aparece siempre para indicar la interactividad de algunos elementos. sino un esquema básico de las mismas. Por favor. se abrirá la . no nos confundamos: nos muestra la SINTAXIS. que se activa mediante el botón "Library Palette" siguiente paleta: . NO ENCONTRAREMOS las sentencias armadas y listas para utilizar en nuestros proyectos. a partir de ahora y en el resto de su aprendizaje: Alphabetical Lingo: reune las la sintaxis de las sentencias más utilizadas de Lingo. control de movies.Una ayuda muy importante: Dentro de la ventana de Script hay dos botones que nos pueden ayudar mucho para orientarnos en la utilización de las sentencias de lenguaje Lingo. Al clikear sobre él.

tienen subcategorías.El botón marcado en rojo. abre la lista de categorías. . nosotros hemos ido a la categoría "Animation". y algunas de ellas. y dentro de ella hemos seleccionado la opción "Interactive". Por ejemplo.

Dentro de "Interactive" seleccionamos la opción "Rollover Cursor Change". y no más de uno por objeto. aparecerá una ventana que nos pregunta si queremos aplicar esta propiedad para que el objeto pueda "draguearse" (ser trasladado) dentro del stage solamente. Utilización de "Paint Window": . la tomamos con el mouse y la llevamos directamente sobre el botón. que haciendo click sobre él pasa "algo". Pero vamos a ir más allá: vayamos hasta el círculo rojo. recomiendo que empiece con el método "prueba y error" a investigar las distintas opciones que se pueden aplicar desde "Library Palette". o sea. Con esto le agregamos al botón la propiedad de mostrar la "manito" para que el usuario sepa que ese botón es interactivo. pero para que no haya confusiones. aplique un comportamiento a cada objeto. y pongamos sobre él la opción "Draggable": Al hacerlo.

Ahora aprenderemos a utilizar algunas opciones de la "Paint Window". El resto de las herramientas son muy similares al perfil de cualquier "Paint". pero que se utiliza para la realizsción de formas en formato vectorial. tenemos la "vector shape window". que se abre con el botón .Hasta ahora hemos sacado los objetos de la paleta de objetos sin ningún tipo de opciones. se abrirá el Paint editando la imagen. Sólo haría falta clarar que luego de realizada la imagen que queremos. por ejemplo. pasa a formar parte del Cast en formato de Bitmap. siempre aparece acompañada de un recuadro inferior que nos muestra algunas de sus características . y teniéndola seleccionada en el cast. Utilización de "Property Inspector": Cuando seleccionamos una imagen en el cast. Análoga a la función del Paint. importamos una foto hacia el cast. presionamos el botón de Paint Window. que se abre con el botón correspondiente . ahora bien. podemos realizarlo a la inversa. si.

permite editar el texto durante la reproducción del movie. ingresamos en el "Property inspector". Es un menú desplegable de distintas propiedades "de tinta" en el objeto.Haciendo click en cualquier de los íconos de ese recuadro. Hace que el objeto deje un rastro de imágenes al moverse en el Stage. Bloquea el objeto ante posibles cambios. El resto de las propiedades hacen referencia a las opciones de tamaño y de ubicación del objeto seleccionado. Permite mover el objeto durante la reproducción para probar distintas posiciones o movimientos. Refleja horizontal o verticalmente el objeto seleccionado. que en realidad es una ventana de propiedades: Desde qué frame comienza y en cuál termina. Aplicable sólo a objetos de texto. pero aclaremos que NO ES LO MISMO que la propiedad de dragueo que vimos anteriormente. Luego lo iremos viendo. Permite manejar las distintas opciones del color en el objeto. Muy útil para no moverlo por accidente mientras trabaja con otros objetos. .

Bien. y en el último sigue con la tinta en el 100%. Si nos fijamos en el objeto en el Stage. vamos a su correspondiente "Property inspector". es lo que realiza el programa para ir transformando la tinta del 20 al 100% del último frame. Recomiendo irlas probando una a una para ir aprendiendo su utilidad. Si desplegamos el menú de tinta. Esto se debe a que en realidad le "bajamos" el color sólo en el primer frame. veremos que hay otras opciones. y si ejecutamos el movie. le bajamos el valor al 20%. Controles de Video: Por empezar. y en la propiedad de "Copy" (que es la que aparece por defecto). y recordemos que en la ventana de Sprite tiene 40 frames. el círculo negro. veremos que ha adquirido cierta "transparencia". ubiquémonos en el primer frame del círculo negro. Lo que nosotros vemos en el transcurso del movie. veremos que esa transparencia se va "opacando" a medida que avanza.Propiedades de "tinta": Volvamos a nuestro primer círculo. en el Stage hemos armado el siguiente movie: .

El script (click derecho sobre el botón y luego "script") que le hemos asignado es: on mouseUp me set the movietime of sprite 1 = 0 end Con este botón. El script asignado es: on mouseUp me set the movierate of sprite 1 = -1 end Con este botón ejecutamos el video. El script asignado es: . este es el botón para detener la película.Como se ve. y le hemos puesto 4 botones para los distintos controles que le podemos aplicar. podemos proyectar la película hacia atrás. Con este botón volvemos al inicio de la película. hemos importado una película. El script asignado es: on mouseUp me set the movierate of sprite 1 = 1 end Obviamente.

En el canal de eventos. hemos puesto (cosa que nunca debemos olvidar) el script correspondiente para detener la película. Pero lo importante aquí es que el video y sus botones de control duren lo mismo (en frames). y vayamos a "Cast member properties": .on mouseUp me set the movierate of sprite 1 = 0 end Hechemos ahora una mirada al Score para entender algunas cosas: 1-Todos los scripts que hemos mostrado hacen referencia al "sprite 1" sencillamente porque es en ese sprite o canal en donde se halla el video. por una cuestión de comodidad. al final. 2.En este caso. 3. hemos dejado que todos los elementos tengan los 28 frames por defecto que asigna Director. Ahora hagamos click derecho sobre la película que importamos.

o si por el contrario se recortará (Crop) centrado o no (Center).Play sound: para ejecutar o no el sonido del video (Podemos usar un video con un sonido puesto por nosotros).Direct to Stage: Indica que el personaje aparecerá sobre el Stage sobre cualquier otro ubicado en el mismo lugar. La otra opción que hallaremos en ese menú es "Play every frame". Cerrando el Cd autoejecutable: Para cerrar el Cd de manera que podamos ejecutarlo en cualquier PC. .Show video: para mostrar o no el video.Streaming: una opción sólo apta para videos compatibles con Quick Time. . . opción esta que se ejecuta sin sonido y cuadro por cuadro. . . c) Fixed: el video se ejecuta a una velocidad determinada en frames por segundo.Loop: para que el video se repita contínuamente o no.Paused: cuando comience el movie de Director podemos determinar que se ejecute o no el personaje de video. .Playback: tiene marcada la opción "sync to sound". b) Maximum: el video sejecuta a la máxima velocidad permitida por el microprocesador de la PC.. aunque esta no tenga instalado Director. . al lado de Rate. . .Show controller: muestra u oculta los controles de video para Quick Time (abajo). pero también es posible que reste originalidad gráfica a nuestro proyecto. Si cambiará su tamaño (Scale). que el video se ejecutará al ritmo del audio. Tenemos tres opciones: a) Normal: el video se ejecuta a su propia velocidad. En este caso es obvio que nos conviene ponerlo en "Pause". pues la orden para ejecutarse se la daremos nosotros mediante el botón de Play que creamos.Framing: indica el modo en que se comportará el elemento movie al escalarlo en el Stage. y que nosotros podemos definir en el cuadro "fps".Rate: indica la velocidad de ejecución del video y se activa cuando en el Playback optamos por "play every frame". debemos crear lo que llamamos el "proyector". Puede que nos ahorre trabajo. . hace que la película se jecute mientras se carga en memoria. es decir. aunque se tenga que saltear frames.

o únicamente la primera (sin marcar Play Every Movie). de todas las películas que pueden componer la lista del proyector. pero primeramente vamos a ir al botón "Options": . si durante la ejecución del proyector . y aparecerá la siguiente ventana: En esta ventana es donde seleccionamos los archivos de Director que formarán el ejecutable. O también podemos definir que.Para hacerlo vamos a File > Create proyector. lo que se puede ver es la lista de archivos de Director que podemos seleccionar. se jecutan todas (marcando Play Every Movie). y determinamos las características de la creación del "proyector".Playback: indica si. A primera vista.

no es redimensionable. . en el CD. sin mayores complicaciones. y si se centrará o no en la escena (Center). lo veremos en un curso avanzado. si se adaptará al tamaño de la primera película (Match First Movie). o sea.5 (Básico). Aclaremos que esta ventana de Windows que se abre. Director 8.abrimos otro programa. pero creo que con esto basta como curso básico. a costa de aumentar el tiempo de carga. el proyector se detenga hasta que volvamos a él (sin marcar Animate in Background). Lo mismo vale para los archivos de audio. en vez de ir a Archivo > Guardar. es decir. Nos aparecerá una ventana para ponerle el nombre al proyector.Media: comprime la película en formato Shokwave.Tercera Clase Rollovers y "Filmloops": . deben ser incluídos en la carpeta o grupo de archivos que formará el CD.Player: por ser este un curso "básico" no vamos a profundizar demasiado sobre estas opciones y vamos a dejar puesta la opción "Standard". nuestro archivo autoejecutable se llamará "autorun. Luego le damos el OK a projector Options y Create a la ventana anterior. y luego Aceptar. Es decir. el proyector se siga ejecutando (marcando Animate in Background). por tanto. y lo guardaremos como un archivo de extensión "inf".exe La salvedad es que. Faltaría hacer una acotación respecto de la "estructura" que tendrá el CD: los videos NO son comprimidos dentro del proyector. iremos a Archivo > Guardar como. . logrando un volúmen inferior.inf" Respecto de Director restaría decir MUCHAS cosas más. debemos armar (si queremos) el archivo que hará que nuestro Cd se "autoejecute".Options: indica si la ejecución se realizará a pantalla completa (Full Screen). . que se inicie solo al ponerlo en la lectora de CD. Mucha suerte. no se le puede cambiar el tamaño. o bien que si abrimos otro programa. El resto. y ponemos lo siguiente: [autorun] open=nombredelproyector. o en una ventana de Windows (In a Window). Por último. para ello abrimos el block de notas.Stage Size: indica si la vista de cada película de Director conservará su tamaño original (Use Movie Settings). . es un formato de Director para web. pero sí vamos a señalar que los formatos Shokwave sirven para realizar la proyección en web. Si elegimos esta última opción. es decir. le podemos decir que muestre o no muestre la barra de menúes de la ventana (Show Title Bar). como para que empiecen a utilizar lo más útil.

las seleccionemos juntas para no importarlas de a una. Director nos pregunta si esas imágenes forman parte de un gif animado.Si importamos más de una imagen. es lógico que. seleccionaremos la opción que aparece abajo "Same format for remaining files". Como estamos importando más de un . A continuación. aparece otra ventana más: .gif. Como en este caso. o si queremos importar las imágenes como mapas de bit. no se trata de un gif animado. y como todas las imágenes que importaremos guardarán este mismo formato. seleccionaremos la opción "Bitmap Image". si están en la misma carpeta. cuando le damos OK.

Lo que hemos hecho es importar dos imágenes que formarán parte de un botón de "e-mail". 3. el tipo de paleta de colores. etc). y luego le agrego la propiedad "Rollover member change". pero si elegimos de 8 bits podemos elegir .. 2. He señalado la imagen "mail_up" porque es la imagen que llevé al Stage.. Aquí vemos los dos botones acompañados de otras imágenes dentro del Cast. La opción por defecto es de 24 bits. del sistema operativo que estemos utilizando o inclusive del tipo de PC que usemos para trabajar (Windows.. A esta imagen le agrego la propiedad "Rollover cursor change" (para que se vea la manito.. y la que corresponde a la vista por defecto del botón.1. . a medida que se vaya cargando en el movie.Trim white space: ajustará el espacio o fondo en blanco de la imagen a la superficie que esta ocupa. y la otra corresponde a la vista del botón cuando el mouse pasa sobre él (mail over).Aquí elegimos la calidad de la imagen.. Una de ellas es la que corresponde a la vista normal del botón (mail up). ¿recuerdan?) desde Library>Interactive. Las paletas de colores dependerán. Macintosh. por ejemplo. Dither: hará que la imagen vaya mejorando su calidad hasta su calidad final.

PERO . no todos los que trabajan o van a trabajar con Director tienen la obligación de saber manejar Photoshop..Al hacerlo me aparece el panel para definir los parámetros. Fireworks.Debemos importar todas las imágenes que conforman la secuencia animada al Cast. y es por eso que igualmente lo vemos como tema.. y esto se debe a que es mejor y más rápido importar un gif animado .. . Antes de crear un Filmloop quisiera hacer una pequeña aclaración: Para quienes manejamos varios programas de edición de imágenes. De este modo tenemos ya un efecto de botón muy común en todas las aplicaciopnes web e interactivas. En este caso. puesde que tomarnos el trabajo de crear un filmloop parezca un trabajo inútil. con qué imagen del Cast se realizará el rollover. De lo dicho se desprende que el filmloop es algo más o menos igual a un gift animado: una sucesión de imágenes fijas y correlativas que conforman un movimiento. como se ve en la imagen. Abajo tienen una. y además.. es decir. etc. será con "mail_over". El proceso en Director es relativamente sencillo: 1. pues podemos crear los elementos gráficos fuera de Director y luego importarlos.. tenemos una gran libertad creativa.

Lo que necesitamos es lo que está en el Cast. esto es así para que todas ocupen automáticamente la misma ubicación. Pero hay otras cosas que podemos hacer con los sonidos que usamos. y así sucesivamente. 3. una arriba de la otra. ya podemos borrar los frames que ocupaba en el Score (arriba izquierda). imagen por imagen. el orden debe ser el mismo que conforme la secuencia animada: la primer eimagen en el frame 1. llevarlas al mismo canal de Score asignándole a cada una sólo un frame. 2.Lo que hemos hecho posteriormente es. como si fuese un gif animado. listo para ser usado en cualquier momento. Obviamente.Seguidamente seleccionamos todos los frames en el Score. No se asusten si al borrar los frames vemos que se borra la imagen del Stage: ya no es necesaria.Aparecerá un panel para ponerle el nombre que querramos al loop. . Controles de sonido: Ya hemos visto cómo importar sonidos y cómo incluirlos y variar su duración dentro del movie de Director. Recalco lo siguiente: las imágenes se llevan directamente al Score y NO al Stage. El Filmloop queda en el Cast como un elemento más (arriba derecha). por lo tanto. y vamos al menú Insert>Film Loop. la segunda en el 2.

En qué canal quieres que se ejecute el sonido (lo que te da la posibilidad de ejecutar varios sonidos a la vez. Como nosotros se lo asignamos a un botón. 4. Volumen.Sonido a ejecutar (te da el nombre del sonido que importaste al Cast). Obviamente.Play sound: se lo asignamos al botón de PLAY.Stop sound: al de STOP.Channel pan slider: al de CANALES. es lógico que le asignemos que se ejecute cuando hagamos clic en él. 2. . . esta barra la utilizaremos dos veces. primeramente importaremos un sonido al Cast. que es para poner un beep en un botón o elemento. de los cuales usaremos nada más que 5: . .Channel volume slider: al de VOLUMEN.Tercera Clase (II) Cuando pongamos la propiedad de Play Sound sobre el botón de PLAY. en la categoría "Media".Evento con el que quieres que se ejecute el sonido. y Balance. junto con 5 botones correspondientes al Play.Así que. Aparecerán seis controles. 3.Pause sound: al de PAUSE. buscaremos "sound". . En mi Stage quedó más o menos así: Luego habilitaremos Library. irector 8. Queda un sexto que es Sound beep. aparecerá este panel.Cantidad de "loops" (repeticiones) que queremos para el sonido. . que sirve para determinar: 1. Stop. Además. y dentro de ella. vamos a dibujar una barra horizontal sobre la que correrán los controles de Volumen y Balance.5 (Básico). Pause.

Ahora demos un vistazo al Score: Nuestro trabajo final será poner dos script. 1. al principio y al final en el canal de eventos.Aquí indicamos a qué ámbito "constreñir" el elemento (en este caso el botón). pues sino. si ponemos 0 (cero). Por defecto.Nivel de volumen inicial. Con la diferencia que el Ítem 3 nos da para determinar el estado del balance Estéreo inicial. entonces tenemos todos los botones en el Stage y con sus respectivas propiedades. sino que a lo largo de TODO el Stage.Los puntos dos y tres son los únicos que deberás determinar al hacer lo mismo con las propiedades de Pause y Stop sobre sus respectivos botones. que señalo en la imagen. el control de volumen aparecerá al máximo. pero eso lo podemos cambiar a mano. el control de volumen no se desplazará solamente a lo largo de la barra que dibujamos. porque es en el canal 2 en donde se encuentra la barra a la que queremos unir el botón. Aquí pusimos 2. Similar a este panel es el que aparece cuando ponemos la propiedad correspondiente al Pan Slider. Como aquí indica.Canal de sonido. Bien. El del principio es para detener TODO sonido. el sonido se reproduciría . 2. 3. Distinto es al aplicar en sus respectivos botones las propiedades de Volume Slider y Pan Slider.

Hasta entonces. los botones deben funcionar correctamente. no dejen de escribirme. si por más que lo revisen una y otra vez. Y el del final es nuestro ya conocido go to the frame (el que sirve de stop al movie). Si todo está bien.stop( ). . Pero de todos modos. Este script es sound(1). En nuestra próxima entrega empezaremos a trabajar con video y a ver cómo se cierra definitivamente un trabajo en un CD autoejecutable.automáticamente al abrir el movie y el botón PLAY no tendría sentido. Entiendo que Director no es un programa simple. no funciona algo.