Sie sind auf Seite 1von 80

La ventana Cast.

Men Window > cast. En esta ventana es donde almacenamos los elementos importados o creados en el mismo Director, que formarn parte de la pelicula. Este es el "almacn" de nuestro proyecto.

Navegacin por el Cast: Nos permite avanzar y retroceder a travs de los miembros del reparto. Utilidad para mover los miembros del reparto: Esta es una herramienta muy til cuando tenemos un gran nmero 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 botn nos sirve para asignar propiedades particulares al miembro del reparto. Ms 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 ejecucin en un punto crtico. Los botones de seleccin y radio, son los tipicos botones que encontramos en aplicaciones y pginas web. Mas adelante veremos como utilizarlos para recoger informacin a travs 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, alineacin, espacio entre lineas, etc, para los textos y campos de texto.

La ventana Behavoir.
Men Window > Inspectors > Behavoir. Este es un pequeo asistente que nos permite asignar Scripts de Lingo, sin necesidad de escribir el cdigo, sino seleccionando los handlers y las acciones que queramos ejecutar. Mas adelante veremos los conceptos de handler y script con mucho ms detalle. Utilizar la ventana Behavior no es la forma ms limpia de programar en Director, y siempre que podamos, debemos escribir el cdigo nosotros mismos. Esto no es una simple cuestin 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 grfico, 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 ms 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 verstil. Debemos entender el Score, como un secuenciador, o una partitura, en donde colocamos todos los elementos de nuestra pelicula. Cuando la cabeza de reproduccin 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 grfico inferior vemos las partes principales de la ventana score. En el capitulo 2 la utilizaremos masivamente para realizar nuestra primera animacin.

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

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

nuestra pelicula para converitrse en una aplicacin multimedia, con ejemplos paso a paso, para aprender todo lo necesario, para dominar Director y la multimedia de autor. Importar grficos.

En este capitulo vamos a ver como se importan bitmaps de Photoshop o cualquier otro editor de imagenes en Director. Tambin veremos algunas propiedades de los bitmaps. En Macintosh, si se utiliza la versin 5 de Director solo podemos importar archivos con formato PICT y el Windows en formato BMP. En la versin 7 de Director esto se extiende a una serie mas larga de posibilidades de importacin de grficos, como por ejemplo, GIF, JPEG, PNG, PICT, etc.. A la hora de importar imgenes en Director es muy importante pensar para qu las vamos utilizar, para decidir el formato correcto. Una pantalla de ordenador funcionando a 256 colores corresponde a 8 bits de resolucin, una pantalla a miles de colores corresponde a 16 bits, y una pantalla a millones de colores corresponde a 32 bits. Si queremos mostrar fotografas a alta resolucin podemos optar por 16 32 bits, pero si lo que importamos son imgenes para animacin ser suficiente importarlas a 8 bits de profundidad de color, de este modo nuestra pelicula ocupar menos memoria y funcionar ms rpido. No tiene en absoluto ningn sentido que realizemos una animacin con imagenes a 32 bits, porque por un lado nuestra pelicula ocupar demasiado y se arrastrar a velocidad de caracol en un CD Rom de 4X velocidad, incluso en CD Roms de velocidad mayor, la transferencia de datos en mucho menor que la del disco duro. Por eso es conveniente probar las peliculas directamente en CD antes de distribuirlas para evitarnos sorpresas.

Importar grficos.
Men File > Import.

Partiendo de la base de que tenemos los grficos preparados en su carpeta o directorio correspondiente, vamos al menu File > Import, y obtendremos una ventana similar a la mostrada en el ejemplo. En el ejemplo vemos una pelicula QuickTime, un grfico en formato PICT, una pelicula de Director 7, y un archivo de sonido en formato AIF. Si queremos importar un solo archivo, deleccionamos en la parte superior el archivo y pulsamos "IMPORT", de este modo pasaremos a la pantalla siguiente en funcin del tipo de archivo que hayamos importado. Si queremos importar ms de un archivo a la vez, vamos seleccionando los archivos y pulsando el botn "ADD", de este modo los archivos que sern importados se van alineando en la parte inferior, y al pulsar "IMPORT", se importarn todos los archivos que hayan sido pasados a la ventana inferior. Si queremos eliminar algun archivo de la seleccin, lo seleccionamos en la parte inferior y pulsamos "REMOVE".

Una vez le hemos dado al botn "IMPORT" y le hemos expresado nuestra conformidad a Director, nos aparece una ventana similar a la siguiente en donde podemos fijar algunos ajustes.

Aqui podemos ajustar la profundidad de color, en el ejemplo 8 bits (256 colores), y podemos asignarle una paleta de color. Lo ms usual para empezar es asignarle la paleta de color de nuestro sistema, bien sea Macintosh PC y activar la opcin "Dither" para que los degradados de color de la imagen sean lo ms suaves posible. ............. Una vez le damos a "OK" el proceso de importar se ha terminado y el grfico pasa a ser parte de la ventana Cast. Por defecto el grfico se colocar en la primera casilla libre que encuentre el la ventana Cast, o bien, si teniamos seleccionada una casilla concreta antes de importar, el grfico se colocar en esta casilla.

Ahora vamos a ver algunas propiedades que podemos ajustar en la ventana Cast para los archivos grficos, para esto seleccionamos el grfico y pulsamos el botn superior con el simbolo: ( )

Con esto accedemos a las propiedades del miembro seleccionado en la ventana Cast.

Conviene recordar que estos ajustes son distintos segn que tipo de miembro tengamos en el Cast. Esta es la ventana que nos aparece para los miembros de reparto grficos. En esta explicacin, asi como sucede en alguna otra, omitimos de momento algunas cosas que abordaremos ms adelante.

En primer lugar vemos, que tanto en la ventana Cast como aqui, Director ha recordado el nombre original del grfico, pero siempre podemos cambiarlo en esta ventana o directamente en la ventana Cast. - La Opcin "Highlight When Clicked", har que nuestro grafico se ilumine, invirtiendo sus colores al hacer clic sobre l, cuando sea colocado en el escenario. - La opcin "Dither" aplica el efecto "Dithering" (Suavizado) a los grficos. - Luego tenemos los ajustes de transparencia Alpha para los graficos de 32 bits (Solo en Director 7). - Y por ltimo las preferencias de descarga en memoria (Unload) de ese miembro cuando sea utilizado. Este tema lo veremos con mayor detalle cuando abordemos la gestin de memoria. Bien, ya tenemos el grfico importado y hemos visto sus particularidades en la ventana Cast, pero an hay otro modo de modificar los ajustes para los grficos en Director, como vemos a continuacin.

"Transform Bitmap".
Men Modify > Transform Bitmap.

En esta ventana siempre podemos cambiar en ltima instancia, las particularidades del grfico. Recordad que esta opcin del men "Modify" se encuentra desactivada, si no est seleccionado un grfico en la ventana Cast.

En el siguiente capitulo veremos como importar archivos de sonido y video en Director. Importar sonidos. El sonido apenas tiene particularidades a la hora de importar, pero debemos tener muy en cuenta el tamao del archivo de sonido que importamos. Por lo general en un editor de sonido podemos ajustar la resolucin del sonido de igual modo que hacemos con los grficos en un editor de imgenes. En Macintosh podemos importar basicamente sonidos AIFF, o System 7 Sound, y en la versin 7 de Director tambin en Formato Sun.au, que es el formato de sonido utilizado por las applets Java. Para ambas plataformas Macintosh y PC el formato de sonido recomendado es AIFF. Asi mantendremos la maxima compatibilidad entre las dos plataformas, ya que Director es multiplataforma, o sea, que una pelicula de director construida en Macintosh se puede abrir directamente en la misma versin de director de PC. La fecuencia de muestreo recomendada para el sonido (a ajustar en nuestro editor de sonido preferido),

es de 22,050 kHz 11,025 kHz. Los sonidos con frecuencia superior a esta, pueden bloquear una pelicula ya que hay que tener en cuenta que por lo general cuando ponemos en una pelicula una animacin grfica y un sonido, estamos obligando al procesador a realizar dos operaciones, una actualizar el grfico y otra leer y reproducir el archivo de sonido. Siempre pensad como se reproduciria vuestro material multimedia en un PC de oficina, del ao catapn, con un CD de doble velocidad, y con un usuario malvolo, capaz de hacer volar el mundo con su errtico ratn... vuestro programa tiene que ser no slo rpido en condiciones adversas, sino tambin blindado.

Importar sonido. Aunque el proceso de importar sonido es exactamente el mismo que a la hora de importar un grfico, el sonido tiene menos peculiaridades en este proceso que los grficos.

En la ventana Cast, vemos ahora, al lado del grfico, nuestro primer sonido importado. Fijaos en los iconos de ambos, son diferentes, esto nos ayuda a identificar los miembros de reparto en el Cast de forma rpida. Si hacemos clic sobre el botn: , con el miembro sonido seleccionado en el Cast, veremos que ahora nos sale otra ventana diferente, acorde con el nuevo miembro del reparto.

Ms facil de entender que en el caso de los grficos, la ventana de propiedades del sonido es ms simple. Prcticamente tenemos slo la opcin de "Loop", que hace que nuestro sonido se reproduzca de forma repetitiva, y la opcin "Unload" que de forma similar al caso de los grficos regula la prioridad en la purga de miembros que no son utilizados en un momento dado.

En el siguiente capitulo veremos las propiedades y como importar video, y tambin como incorporar al escenario los elementos multimedia que hemos importado. Importar videos. El video es el componente multimedia de ms peso, esto quiere decir que a cualquier ordenador le cuesta mucho esfuerzo reproducir video. Con el video digital debemos tener an ms cuidado que con el sonido, ya que aparte de que un video de unos pocos segundos a 320 X 240 pixels ocupa varios megas en el disco duro, la reproduccin de este en pantalla es una tarea pesada para cualquier tipo de ordenador. Si el video adems tiene sonido debemos vigilar que el formato del sonido no sea excesivamente alto, si no queremos que nuestro video vaya a saltos y se coma fotogramas intentando sincronizar la imagen con el sonido. 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. Aunque podemos hacer video digital al tamao que queramos en un programa editor de video, como Adobe Premiere, hay algunos formatos estndares que nos convendr usar. El primero es el formato estndar QuickTime (320 X 240 pixels). Este formato es el ms grande recomendable a la hora de insertar video en nuestra aplicacin multimedia. Si podemos, debemos utilizar otros formatos ms pequeos, que se reproducirn ms rpido, con la consiguiente mejora general de nuestra aplicacin en cuanto a rendimiento. Dos buenos tamaos son (280 X 210 pixels) (160 X 120). Importar video:

El proceso de importar video es el mismo que el de importar sonido, apenas disponemos de sofisticaciones en Director a la hora de importar video, pero si tenemos muchas opciones de variarlo, modificar y dirigir su reproduccin en Lingo, y tambin ajustando sus propiedades en la ventana Cast. Abordaremos las capacidades del lenguaje Lingo para controlar el video, ms adelante, cuando estemos aprendiendo Lingo, ahora vamos a ver que propiedades del video podemos ajustar en el Cast una vez importado. Para este ejemplo he utilizado Director 5. Ya que el proceso de importar es el mismo que en el sonido, (Menu File > Import), vamos a pasar a la ventana Cast, en donde tenemos el video ya importado en la casilla 3.

Como vemos, el video se ajusta como otro miembro del reparto ms, disponible desde ahora en nuestra pelicula. Si pulsamos el botn info ( ) del cast, 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.

Playback: Este es el principal control de la reproduccin de video en Director. Video: Aqui escojemos si queremos que se vea el video en el escenario, o bien sea invisible, pero conservando las propiedades del sonido. Sound: Aqui decidimos si nuestro video tendr sonido o no, es conveniente desactivar esta opcin si el video que hemos importado no tiene sonido, asi QuickTime no intentar ajustar la imagen a un sonido hipottico, y el video funcionar ms fluidamente. Paused: Con esta opcion definimos si el video, por defecto comienza en pausa, siempre podemos arrancarlo luego con Lingo. Loop: Con esta propiedad activada el video se reproducir de forma continua, volviendo al principio cada vez que haya terminado, a no ser que eliminemos esta caracteristica desde Lingo, o volvamos a la ventana Cast para desactivarla. Options: La opcin Direct to To Stage, es una propiedad por defecto del video. Normalmente el video nunca deja que otro elemento se ponga sobre el, bien sea texto, un grfico, etc. si un grfico pasa por delante del video, el video se pondr sobre l de forma que no podremos verlo mientras se encuentre en el mbito del video. Si desactivamos esta opcin, el video dejar pasar sobre el a los dems miembros de la pelicula, pero en contrapartida, funcionar a saltos y de forma poco fluida, por lo que no conviene desactivar esta opcin. La opcion Show Controler simplemente nos dejar ver la barra de progreso de la pelicula QuickTime, mientras funciona en el escenario. Video: En este menu tenemos dos opciones:

- La primera opcin, Sync to Soundtrack, habilita que QuickTime ajuste el sonido a la imagen, de forma que una no vaya ms rpido que la otra. - La segunda, Play Every Frame (No Sound), elimina el sonido del video, caso de tenerlo, e inabilita el intento de QuickTIme por sincronizar imagen y sonido, con lo que el video ir ms fluido en pantalla. Las Opciones Enable Preload y Unload, son para la gestin de la carga y descarga en memoria del video. De momento es mejor no tocar estas opciones, hasta cuando abordemos la gestin de memoria. .. Y esto es todo para empezar con el video, es recomendable hacer pruebas uno mismo, importando y ajustando video.

Ms adelante veremos como tratar con el video en el escenario, y luego como controlarlo con Lingo. Importar videos. El video es el componente multimedia de ms peso, esto quiere decir que a cualquier ordenador le cuesta mucho esfuerzo reproducir video. Con el video digital debemos tener an ms cuidado que con el sonido, ya que aparte de que un video de unos pocos segundos a 320 X 240 pixels ocupa varios megas en el disco duro, la reproduccin de este en pantalla es una tarea pesada para cualquier tipo de ordenador. Si el video adems tiene sonido debemos vigilar que el formato del sonido no sea excesivamente alto, si no queremos que nuestro video vaya a saltos y se coma fotogramas intentando sincronizar la imagen con el sonido. 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. Aunque podemos hacer video digital al tamao que queramos en un programa editor de video, como Adobe Premiere, hay algunos formatos estndares que nos convendr usar. El primero es el formato estndar QuickTime (320 X 240 pixels). Este formato es el ms grande recomendable a la hora de insertar video en nuestra aplicacin multimedia. Si podemos, debemos utilizar otros formatos ms pequeos, que se reproducirn ms rpido, con la consiguiente mejora general de nuestra aplicacin en cuanto a rendimiento. Dos buenos tamaos son (280 X 210 pixels) (160 X 120). Importar video: El proceso de importar video es el mismo que el de importar sonido, apenas disponemos de sofisticaciones en Director a la hora de importar video, pero si tenemos muchas opciones de variarlo, modificar y dirigir su reproduccin en Lingo, y tambin ajustando sus propiedades en la ventana Cast. Abordaremos las capacidades del lenguaje Lingo para controlar el video, ms adelante, cuando estemos aprendiendo Lingo, ahora vamos a ver que propiedades del video podemos ajustar en el Cast una vez importado. Para este ejemplo he utilizado Director 5. Ya que el proceso de importar es el mismo que en el sonido, (Menu File > Import), vamos a pasar a la ventana Cast, en donde tenemos el video ya importado en la casilla 3.

Como vemos, el video se ajusta como otro miembro del reparto ms, disponible desde ahora en nuestra pelicula.

Si pulsamos el botn info ( ) del cast, 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. Playback: Este es el principal control de la reproduccin de video en Director. Video: Aqui escojemos si queremos que se vea el video en el escenario, o bien sea invisible, pero conservando las propiedades del sonido. Sound: Aqui decidimos si nuestro video tendr sonido o no, es conveniente desactivar esta opcin si el video que hemos importado no tiene sonido, asi QuickTime no intentar ajustar la imagen a un sonido hipottico, y el video funcionar ms fluidamente. Paused: Con esta opcion definimos si el video, por defecto comienza en pausa, siempre podemos arrancarlo luego con Lingo. Loop: Con esta propiedad activada el video se reproducir de forma continua, volviendo al principio cada vez que haya terminado, a no ser que eliminemos esta caracteristica desde Lingo, o volvamos a la ventana Cast para desactivarla. Options: La opcin Direct to To Stage, es una propiedad por defecto del video. Normalmente el video nunca deja que otro elemento se ponga sobre el, bien sea texto, un grfico, etc. si un grfico pasa por delante del video, el video se pondr sobre l de forma que no podremos verlo mientras se encuentre en el mbito del video.

Si desactivamos esta opcin, el video dejar pasar sobre el a los dems miembros de la pelicula, pero en contrapartida, funcionar a saltos y de forma poco fluida, por lo que no conviene desactivar esta opcin. La opcion Show Controler simplemente nos dejar ver la barra de progreso de la pelicula QuickTime, mientras funciona en el escenario. Video: En este menu tenemos dos opciones:

- La primera opcin, Sync to Soundtrack, habilita que QuickTime ajuste el sonido a la imagen, de forma que una no vaya ms rpido que la otra. - La segunda, Play Every Frame (No Sound), elimina el sonido del video, caso de tenerlo, e inabilita el intento de QuickTIme por sincronizar imagen y sonido, con lo que el video ir ms fluido en pantalla. Las Opciones Enable Preload y Unload, son para la gestin de la carga y descarga en memoria del video. De momento es mejor no tocar estas opciones, hasta cuando abordemos la gestin de memoria. .. Y esto es todo para empezar con el video, es recomendable hacer pruebas uno mismo, importando y ajustando video. Ms adelante veremos como tratar con el video en el escenario, y luego como controlarlo con Lingo.

Primera animacin. Despues de ver como se importan los elementos en Director, vamos a ver como realizar la primera animacin. En primer lugar hemos importado un ciclista en formato pict, y ahora lo pondremos a correr por el escenario. Para esto podemos arrastrar el ciclista desde la ventana Cast hasta el escenario o hasta la ventana Score. De forma que pasara a ocupar uno o varios cuadros por defecto en el score, apareciendo tambien en el escenario. Esta animacin queremos que comienze en el cuadro 5 y vamos a extender la animacin hasta el cuadro 15. Para esto cogemos el sprite por su punto final en el Score y lo encogemos para que solo ocupe de principio un cuadro, que ser el punto de partida de la animacin.

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

Una vez colocado el cuadro 5 en su punto de partida vamos a asignar un punto intermedio en la animacin en el cuadro 10, en donde el ciclista ya se encontrar en el cento del escenario, a medio camino de su animacin completa. Para esto, pulsando la tecla "ALT", arrastramos el sprite hasta el cuadro 10. Vemos como no movemos el cuadro 5 hasta la posicion 10 sino que nos llevamos una copia del sprire hasta esta posicin. Si no hubieramos pulsado la tecla "ALT" simplemente habriamos movido el cuadro 5 hasta la posicin 10. Con esto estamos asignando un nuevo tiempo en la pelicula, en el que nuestro actor estar en otra posicin.

Con el sprite seleccionado en el cuadro 10, vamos de nuevo al escenario y colocamos el ciclista en el centro del escenario. Esta ser su posicin cuando llegue la reproduccin al cuadro 10.

Como vemos Director ha creado una linea de animacin, desde el punto inicial, hasta la nueva posicin en el cuadro 15, generando todos los pasos intermedios. Ahora vamos a hacer la misma operacin pero estirando el sprite hasta la posicin 15, en donde el ciclista ya desaparecer del escenario por la parte derecha.

Para esto hacemos lo mismo que en el caso anterior: estiramos una copia del sprite con la tecla "ALT pulsada hasta la posicin 20, y en esa posicin colocamos el sprite en el escenario, desapareciendo ya por la parte derecha de la pantalla.

Con esto tenemos un primera animacin bsica. Si vamos al men "Control > Play" veremos como el ciclista recorre el escenario de izquierda a derecha. Si queremos ajustar la trayectoria de movimiento, podemos recurrir al menu "Modify > Sprite > Tweening", para definir la trayectoria del sprite como mejor nos convenga. Ahora vamos a ver como asignar el tiempo de reproduccin. En primer lugar, la ventana "Control Panel" no la debemos usar para asignar tiempo a la pelicula, porque lo har de forma virtual, no real. La pelicula solo responde y conserva los controles de velocidad asignados en el score o con Lingo. Para ajustar la velocidad de reproduccin, seleccionamos un cuadro en el canal de tiempo del score, en el principio de la animacin del ciclista (cuadro 5).

Y con este cuadro seleccionado vamos al men "Modify > Frame > Tempo", en donde nos sale esta siguiente ventana en donde podemos asignar el tiempo, en el ejemplo 5 fps. Debemos cuidar que la velocidad de la pelicula no sea excesiva, para que no sobrepase la capacidad de un procesador poco potente, ms an cuando est corriendo sobre un CD.

Mas adelante veremos otras aplicaciones de esta ventana, pero ahora nos vale con saber asignar velocidad para los cuadros de la pelicula.

Para prolongar el area de tiempo especificado en la pelicula, simplemente seleccionamos el canal de tiempo, y con la tecla "ALT" pulsada, arrastramos el sprite, estirndolo, por ejemplo, hasta el cuadro 15, en donde termina la animacin de ciclista. Asi podemos asignar diferentes velocidades a diferentes partes de la pelicula.

Conviene probar uno mismo a hacer animaciones, metiendo graficos de fondo y superponiendo personajes. Recordad que conforme poneis sprites en el escenario, el sprite del cuadro 2 estar por delante del sprite del cuadro 1 y asi sucesivamente. Tambien es conveniente probar las tintas de mezcla de los sprites, y probar distintas velocidades de reproduccin. Esta es la base para trabajar en director: controlar los elementos del escenario.

En el siguiente capitulo veremos como realizar "FilmLoops", siendo una de las tcnicas ms interesantes de la animacin mltiple en Director, y en el siguiente capitulo, comenzaremos a controlar nuestra pelicula con pequeas dosis de Lingo, creando la primera navegacin interactiva.

FilmLoops.
(Descargar pelicula de ejemplo) Si queremos reproducir la animacin de una persona o un perro caminando, tenemos una animacin un poco compleja: Por un lado el mueco debe ir moviendo los brazos y las piernas mientras avanza hacia delante, con lo cual en cada paso tenemos cuatro movimientos para los brazos y piernas, a la vez tendremos que hacer avanzar el mueco hacia delante con todos sus movimientos de andar. Otro caso puede ser que necesitamos, por ejemplo, un reloj, que siempre de vueltas sin parar, independientemente del curso del resto de la animacin, y que queremos manipular como un solo sprite. Para solucionar este tipo de animaciones autnomas tenemos los FimLoops, que son muy fciles de utilizar y nos proporcionan una ayuda muy importante en casi todos los trabajos con Director. Para hacer un FilmLoop, debemos partir de los grficos importados que conformarn la animacin del objeto. En este ejemplo vemos los ocho grficos que componen un reloj cuyas agujas dan vueltas.

Y aqui vemos el movimiento montado en una animacin:

Veamos el proceso de crear FilmLoops. Primero importamos los grficos que conformarn el conjunto del FilmLoop, y los dejamos ordenados en la ventana Cast. Luego, seleccionamos juntos, apretando la tecla maysculas, todos los graficos del FilmLoop, y los arrastramos a un lugar libre en el Score. Veremos que los graficos se nos alinean en el Score, en el mismo cuadro, hacia abajo, ocupando los cuadros del score en vertical. Para colocar directamente la animacin en horizontal vamos al menu "Modify > Space to time". Tambien podemos, simplemente, ir colocando un grfico delante del otro para formar una animacin simple que luego convertiremos en FilmLoop.

Una vez que tenemos colocados y alineados los sprites, los seleccionamos juntos de nuevo en el score y los arrastramos juntos hacia una casilla libre en la ventana Cast, veremos como se nos abre un cuadro de dialogo de FilmLoop en donde podemos poner nombre a nuestro FilmLoop. Hecho esto, limpiamos el Score de los sprites que formaron el FilmLoop. Otro modo de hacerlo es copiando todos los sprites del FilmLoop en el Score, para luego pegarlos en una casilla libre de la ventana Cast, veremos como tambin se nos abre un pequeo cuadro de dialogo en donde podemos dar nombre al nuevo FilmLoop.

A partir de ahora cuando arrastremos al escenario o al score el nuevo FilmLoop desde el Cast, este sera un solo sprite, pero contendr un bucle con todos los movimientos que lo conforman. De todas formas no podremos borrar los grficos que conforman el filmloop de la ventana Cast porque el FilmLoop solo es una referencia a estos grficos. ---------------------------------------------------------------En el prximo capitulo empezamos con Lingo...

Botones interactivos. Muchas veces probablemente, utilizando una aplicacin multimedia o un programa hemos visto esos botones que cambian de forma al rozar o al pulsar sobre ellos. Veamos como se hace esto en Director. En primer lugar tenemos importamos en la ventana Cast los tres grficos del botn: El botn en reposo, rozado y pulsado. En este caso ocuparn las casillas del Cast, 4, 5 y 6 respectivamente. Y adems importamos un sonido que ser el que se reproduzca al pulsar sobre el botn, en el ejemplo se llama "CLIC", y ocupar la casilla n 7 del Cast, por ejemplo. Los tres estados del botn:

Ahora debemos colocar en el score el boton en reposo, en este caso a partir del cuadro 5 ocupando tres cuadros del Score. En el ultimo de los tres cuadros, hacemos doble clic en el canal de script, 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
-- al intentar salir del cuadro le decimos a Director que permanezca en el mismo lugar. --

if rollOver(1) = true then


-- si el raton roza el sprite situado en el canal 1 del Score (TRUE significa verdadero) --

puppetSprite 1 true
-- declaramos "puppet", el sprite 1 con lo que pasa a ser controlado por Lingo. --

set the memberNum of sprite 1 to 5


--cambiamos el numero de cast del sprite 1 por el correspondiente al boton rozado. --

updatestage
-- forzamos a actualizar el escenario. --

else if rollOver(1) = false then


-- sin embargo, si el raton NO ROZA el sprite 1. --

set the puppet of sprite 1 to false


-- eliminamos el "puppet" del sprite por lo que deja de estar controlado por Lingo y vuelve a su estado original --

updatestage end if
-- fin de la sentencia if() --

end
-- fin del Script --

Si ahora ponemos a andar la pelicula, podremos probar nuestro script rozando el botn con el cursor. Pero aun falta el Script que har que el botn cambie al pulsar sobre l y emita un sonido. Para esto seleccionamos el sprite botn en el frame o frames en donde queremos activar su script, en este caso en la ultima casilla en donde hemos colocado el script de score anterior, ya que es ahi donde la pelicula se detiene. Con el Sprite seleccionado, 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
-- nuevo handler que captura el clic del ratn. --

puppetSound "CLIC"
-- que se reproduzca el sonido importado con el nombre "CLIC". --

puppetSprite 1 true
-- Hacemos controlable desde Lingo el botn. --

set the memberNum of sprite 1 to 6


-- cambiamos el boton en reposo por el grfico del botn pulsado. --

updatestage
-- actualizamos el escenario. --

end mouseDown
-- terminamos el handler mouseDown. --

on mouseUp
-- nuevo handler para cuando levantamos el botn del ratn --

set the puppet of sprite 1 to false


-- declaramos "false", el control de Lingo sobre el grfico cuando levantemos el boton del raton, de esta forma al soltar el ratn, el botn vuelve a su estado de reposo. --

upatestage end mouseUp

end

Con esto tenemos un botn, o los que queramos, que responden a nuestras acciones con el ratn. Lo explicado anteriormente es compatible con todas las versiones de Director. Sin embargo, las nuevas versiones han avanzado bastante al respecto, por lo que prximamente habr un capitulo exaustivo sobre los principales eventos de ratn para las nuevas versiones de Director tratando los handlers: "on mouseEnter me", "on mouseLeave me", "on mouseDown me", "the mouseLoc", "the mouseWord", etc...

Eventos del teclado. (Descargar pelicula de ejemplo) Los eventos de teclado "KeyDown" y "KeyUp" comunes a casi todos los lenguajes de programacin, responden a los eventos de pulsar o soltar una tecla respectivamente. 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 - para ir a la izquierda. K -para ir a la derecha. U -para ir hacia arriba. N -para ir hacia abajo.

En este captulo se incluye una pelicula de ejemplo de este ejercicio, en Director 6, llamada "Key.dir". ................................................................................... Para comenzar colocamos una figura en el score centrndola en el escenario, a ese cuadro le ponemos una marca que en este caso hemos llamado "M". 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.

El script "mgico" ser este: on exitFrame go to the frame -- QUEDARSE ESPERANDO EN EL CUADRO -on keyDown if the key = "J" then -- SI LA TECLA ES "J"... -puppetsprite 1 true -- ACTIVAR EL SPRITE 1 -set h = the locH of sprite 1 set the locH of sprite 1 to H -10 -- MOVER EL SPRITE A SU POSICION -10 -updatestage -- "UPDATESTAGE" FUERZA A ACTUALIZAR EL ESCENARIO -else if the key = "K" then -- PERO SI LA TELCA ES "K"... -puppetsprite 1 true set h = the locH of sprite 1 set the locH of sprite 1 to H +10 -- 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

-- 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, aunque si lo hace en gran medida. A aquellos con conocimientos de programacin, Director les puede resultar tedioso de aprender tambin aunque por otros motivos. Cuando me comentan cosas como: "Es que Director es muy difcil...", yo lo comprendo, pero la pregunta es: "Te entusiasma programar?". Si es asi, Director te tendr cogido de por vida , incluso otros lenguajes del alto nivel llegarn a tu vida tarde o temprano.Sino, es que estas pasando un extrao fin de semana, pero lo olvidars pronto. Por esto os aconsejo que os leais el codigo anterior, a mi me parece lo suficientemente autoexplicativo, y no se me ocurre mejor ejercicio que aconsejaros que os lo leais intentando entender por vosotros mismos cada linea.

El manejo de texto. (Descargar pelicula de ejemplo)

Casi nada se puede conseguir de un programa sin las funciones de entrada y salida de datos o informacin. Director no es solo un programa para hacer presentaciones, sino que va mucho mas alla, llegando a conformar verdaderas aplicaciones inteligentes que realizan clculos e interactuan con el usuario mas alla de lo que se espera de un programa de presentaciones. Sabiendo de un ordenador es simplemente una supercalculadora, los programas en general actan de puente entre nuestros deseos y el supercerebro del ordenador, solicitandole calculos y haciendole gestionar variables y datos. El manejo de texto, y las entradas del usuario por parte de Director es extremadamente sencillo y potente. Asi podemos saber que respondio el usuario a nuestra pregunta, o si la clave de acceso al programa es la correcta o no, o realizar clculos matemticos a partir de los datos introducidos por el usuario.

Lo mas delicado es diferenciar entre cajas de texto y campos de texto. Las cajas de texto (1), nos permiten poner textos en el escenario con la tipografia de la que dispongamos en nuestro ordenador para realizar diseos y titulares. Estas cajas de texto, una vez creada la aplicacion se convierten automticamente en Bitmaps con una resolucin muy aceptable, con lo que el usuario no necesita tener esa tipografia con la que hemos diseado el titular para poder visualizarla y por lo tanto no necesitamos distribuir junto con la aplicacin el tipo de letra con el que hemos diseado texto durante la construccin del proyecto. Sin embargo, las cajas de texto no responden a las rdenes de Lingo, de forma que no podemos comprobar que texto est escrito en la caja en un momento dado, ni podemos variarlo desde un script de Lingo, ni podemos permitir que el usuario lo edite y reescriba durante la ejecucin. Los campos de texto (2), son algo diferente, estos no se convierten en bitmaps durante la ejecucin sino que permanecen funcionales en todo momento como lugares en donde el usuario puede escribir, o bien en donde podemos comprobar desde Lingo el contenido o reescribirlo. Los campos de texto si responden a muchos script de Lingo, como veremos ahora. En el boton de propiedades: de la ventana cast puede experimentarse con distintas opciones para los campos de texto. Para variar el color de fondo y de texto podemos usar los selectores de color de la paleta de herramientas.

Lingo para manejo de texto: Un texto para un programa es una variable, y una variable es un tipo de dato, bien sea una cadena (string) , un numero entero (integer) , un numero en coma flotante (float), o un valor booleano (TRUE o FALSE).

Yo abordo estos tutoriales bajo el supuesto de que todos tienen una minima experiencia en programacin, de otro modo me seria imposible afrontar esto. Para aquellos que esten poco familiarizados con estos y otros conceptos, les recuerdo que pueden enviar sus preguntas al buzn del curso para que una vez respondidas, puedan ser consultadas por otros estudiosos, que quiza tengan las mismas dudas.

Comprobar el contenido de un campo de texto: Bueno, supongamos que queremos saber que nos responde el usuario o que ha escrito en un campo de texto de nuestra aplicacin. Para esto seleccionamos un campo de texto en la paleta de herramientas y los estiramos por el escenario, ajustandolo a la medida que queramos. En el botn de informacin de la ventana Cast, deleccionamos "editable" para el campo de texto, para permitir que el usuario pueda escribir en el, ya que de otro modo no podria hacerlo. 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", hacer sonar dos pitidos del ordenador.

else if field "miCampo" <> "hola mundo" then beep(4)


Si el campo de texto llamado "miCampo" es distinto a "hola mundo", hacer sonar cuatro pitidos del ordenador.

end if Este script se puede asignar a un botn de forma que al pulsar sobre l, se comprueba el contenido del campo de texto y en funcin de esto se realiza una operacin.

Poner nuevo texto en un campo: Para escribir nuevo texto en un campo desde Lingo, 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, por after, el texto se pondr al final del texto del campo 2 sin alterar el contenido anterior. Si escribimos en su lugar before, el nuevo contenido se pondr al principio del campo de texto si variar el contenido anterior.

Operaciones matemticas: Tenemos un campo de texto llamado "OP1", 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 aadir la palabra "INTEGER": put integer (field "OP1") + integer (field "OP2") into field "RESULTADO"

Para restar: put field "OP1" - 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, se introdujeran valores no-numericos, Director gestionara automticamente el error mostrando el mensaje NAN (), que quiere decir mas o menos "No entiendo nada". Se puede consultar y examinar la pelicula que acompaa a este capitulo para ver el funcionamiento de estos ejemplos. Navegacin interactiva. [ Descargar la pelicula de ejemplo ] Para construir una pelcula interactiva que se compone de distintos apartados, generalmente se habilitan primero en el Score las diferentes secciones que representan las distintas partes de la pelicula, a las que se llega de forma automtica o a travs de un evento de Lingo. Esto se realiza a travs de "marcas", que sealan donde est cada parte concreta de la pelicula con su nombre propio.

Para crear una marca nueva, pulsamos sobre la barra superior del score, con lo que nos aparecer un pequeo tringulo invertido al que podemos poner una etiqueta o cambiar de sitio arrastrndolo sobre la barra de marcas.

En este ejemplo, tenemos tres marcas: "menu", "foto1" y "foto2", diferenciando tres partes en el score. La primera le llamamos "menu" y es donde tenemos los botones: "ver foto 1" y "ver foto 2". Las otras dos marcas contienen dos fotos diferentes, con el botn "volver al men". 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 reproduccin siga adelante. Cada uno de los botones de esta pelicula tiene un script "go to" referenciando a una marca de la pelicula. Asi, el sprite botn "ver foto 1" tiene asignado el script: on mouseDown me go to "foto1" end Y el sprite botn "volver al menu", tiene asignado el script: on mouseDown me go to "menu" end Para aquellos familiarizados con C Visual Basic, quiero indicaros que el "go to" de Director no es una llamada a funcin o un salto de cdigo "chapuzero" como en el caso de estos dos anteriores lenguajes, sino que lo que se hace es referenciar o enviar la cabeza de reproduccin directamente a la marca especificada en la sentencia " go to". Con lo cual el "go to" de Director no solo es correcto en el entorno de Lingo, sino que adems es imprescindible para hacer aplicaciones interactivas bsicas.

Diferencia entre el "go to" para el Score y las llamadas a funciones ( Handlers ) en Lingo: En Director los mtodos o funciones se denominan "Handlers". Bsicamente un handler es una porcin de cdigo independiente que contiene una o ms sentencias y operaciones, y que siempre espera a ser llamado para funcionar. Para crear un nuevo Handler en Director, seleccionamos el men: "Window > Script", para abrir una nueva ventana de Script vacia. En ella escribimos el cdigo para el nuevo Handler: on cualquierCosa ( ) -- nombre del handler -puppetSprite 1 , true set the memberNum of sprite 1 to 4 updatestage end Cerramos la ventana de script y el codigo quedar esperando alli, a ser llamado desde cualquier parte de Director para comenzar a realizar su trabajo. Para llamar a un Handler utilizamos simplemente el nombre del Handler: on mouseDown cualquierCosa ( ) -- nombre del handler -end Con lo que el Handler comenzar a hacer su trabajo. Este modo de trabajo es universal en todos los lenguajes de programacin. De esta forma se consigue no tener que repetir porciones de cdigo idnticas en partes diferentes del programa, sino que se agrupan en una funcin, mtodo, o Handler, en el caso de Director, para ser llamado luego cuantas veces se necesite desde cualquier parte del programa. Todo esto lo desarrollaremos mejor en el siguiente captulo en donde se tratarn las variables en Director.

Utilizacin de variables. Las variables son elementos de programacin que se crean para almacenar valores, ya sean nmeros enteros, fraccionarios, valores booleanos (true o false), o cadenas de texto (String). Estas variables se almacenan en porciones de memoria del ordenador. Podemos pensar que el ordenador "recuerda" todas nuestras variables con su valor especifico. Las variables se componen de dos partes: nombre y valor.

El nombre de las variables no puede estar formado por frases compuestas del tipo: una variable, o empezar por un nmero, como por ejemplo: 8numeros. En Director podemos crear una variable simple por ejemplo asi: set numeroCosas = 5 --(numero entero), o set nombreCosas = "Cuantas hay aqui". -(cadena de texto) Las variables apenas nos servirian para nada si una vez creadas no pudiesemos manipular sus valores. Una variable inicializada como: set cosas = 2, podemos aumentarla luego asi: set cosas = cosas + 5. Tambien podemos realizar operaciones con mas de una variable a la vez: set cosas1 = 2 set cosas2 = 3 set cuantasCosas = cosas1 + cosas2 o tambin: set cuantasCosas = (cosas1 + cosas2) / 4 -- hemos sumado el valor de cosas1 y cosas2 y el resultado lo dividimos entre cuatro. En las operaciones matemticas, los operadores entre parentesis son los que primero se evalan y su valor luego es aadido a la siguiente operacion fuera de los parentesis. Esta es la jerarquia: ( (2+2) * 4) - 5 En este caso primero se suma 2+2, el valor resultante se multiplica por cuatro y a este valor final se le resta 5.

Ambito de las variables. (Variables locales y globales). Si declaramos una variable dentro de un Handler mouseDown, por ejemplo: on mouseDown set cosas = cosas + 1 end Esta variable no perdurar fuera de este handler. Podemos realizar operaciones con ella en el mbito del handler mouseDown pero no podemos usarla en otra parte del programa. 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, ya que Director no recuerda nada sobre esa variable. Asimismo tampoco podemos usar esta variable en otro handler o en otro cuadro e pelicula fuera del handler donde fu inicializada. En todos los lenguajes de programacion modernos esto se hace para permitir mayor flexibilidad en la asignacion de nombres a las variables. Una variable local asi, no crear conflictos con otra variable del mismo nombre en otra parte del programa, aunque

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

Para destruir de la memoria las variables globales, por ejemplo al cerrar el programa, para liberar la memoria del ordenador, utilizamos la sentencia clearGlobals.

Bucles en Lingo: "repeat with" y "repeat while" Los bucles se usan en programacin para conseguir que un programa repita una serie de pasos o acciones hasta alcanzar un objetivo. Basicamente un bucle es una tarea organizada, un fragmento de cdigo que se encarga de gestionar una tarea repetitiva. Cuando necesitamos por ejemplo declarar como "puppet" todos los sprites del score desde el 1 hasta el 45, un mal programador escribira. set the puppet of sprite 1 to true set the puppet of sprite 2 to true set the puppet of sprite 3 to true ........... .............. Y asi hasta que se le durmieran los dedos. Para evitar esto y otras muchas cosas, debemos usar bucles. Asi por ejemplo para el caso anterior, el problema estaria resuelto con un bucle sencillo. 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". -------------------------------------------------------El bucle "repeat while". Este es un bucle que ejecuta su cdigo en funcin una expresin de control. Esta expresin puede ser cualquier variable que se pueda evaluar como verdadera (TRUE) o falsa (FALSE). Por ejemplo: repeat while the mouseH > 40 -- realizar algunas acciones-end repeat -- final del bucle repeat while not terminado -- acciones a repetir --end repeat

repeat while the stillDown -- acciones a repetir mientras el ratn est pulsado --end repeat Este otro bucle consigue detener la pelicula durante dos segundos. startTimer repeat while the timer < 5 * 60 put "Esperando..." end repeat Hay que tener cuidado, sin embargo, con los bucles repeat while, ya que mientras estn funcionando, absorvern toda la atencin del programa por lo que, las pulsaciones del ratn y las animacines se detendrn. Al menos solo debemos hacer funcionar estos bucles siempre y cuando sea facil "romperlos". -------------------------------------------------------El bucle "repeat with". Este es un "bucle contador". Realiza una serie de acciones hasta alcanzar un nmero predefinido por el programador. 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 accin de bsqueda desde 1 hasta el numero de palabras que hay en el campo "textos". Este otro bucle simplemente realiza una cuenta de 1 a 260, contando de uno e uno, y la imprime en un campo de texto. repeat with cuenta = 1 to 260 set cuenta = cuenta + 1 put cuenta into field "msg" end repeat Este otro, realiza la misma cuenta de 1 a 260, pero contado de dos en dos, ya que el valor de la variable "cuenta" es aumentada en 2 en cada iteracin del bucle. 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, desde una simple cuenta, hasta la programacin 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, ya que estos forman parte de cualquier estructura de cdigo en cualquier lenguaje de programacin.

Movie in a Window Otra carateristica interesante de Director es el trabajo con ventanas independientes y las posibilidades de compartir datos entre ellas. Basicamente trabajar con MIAW (Movie in a Window), es crear una ventana y asignarle a esta ventana una pelicula de Director. De este modo se puede tener una pelicula principal y abrir en cualquier momento nuevas ventanas que actuen como selectores o barras de herramientes, etc. Para esto necesitamos una pelicula principal y una serie de pelicuals que conformarn cada una su ventana independiente en su momento. Estas peliculas secundarias pueden estar importadas en la misma ventana cast, y por lo tanto acopladas al proyector luego, o haber sido incluidas en el proceso de crear el proyector, asi como simplemente pueden ser archivos externos en formato: DIR, DCR, DXR, etc.. colocados en el mismo directorio del proyector. Para abrir una ventana el script bsico de Lingo es:
open window "miPeli.dir"

Con este comando bsico se nos abrir una nueva ventana flotante del tamao de la pelicula que contiene y que funciona por si misma. Para cerrar esta ventana desde Lingo el script ser:
forget window "miPeli.dir"

Con esto tenemos el trabajo ms bsico que podemos realizar con ventanas en Director, pero por supuesto hay muchisimo ms. 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, arribaY,


abajoX, abajoY): set the rect of window "miPeli" to rect(10,10,150,100)

Asimismo podemos cambiar el tipo de ventana (su estilo) utilizando el mtodo windowType: Por ejemplo:
set the windowType of window "miPeli" to 0 -- Ventana normal. set the windowType of window "miPeli" to 1 -- Ventana de alerta. set the windowType of window "miPeli" to 2 -- Rectngulo simple. set the windowType of window "miPeli" to 3 -- Rectngulo con sombra. set the windowType of window "miPeli" to 4 -- Ventana sin botones maximizar o minimizar. set the windowType of window "miPeli" to 8 -- Ventana normal con scroll. set the windowType of window "miPeli" to 12 -- Ventana normal con scroll sin botones maximizar o minimizar. set the windowType of window "miPeli" to 16 -- Ventana con redondeada. set the windowType of window "miPeli" to 49 -- Ventana de tipo paleta flotante.

Y tambin por supuesto podemos cambiar su ttulo en cualquier momento:


set the title of window "miPeli" to "Hola soy una MIAW"

Intercambiar datos entre ventanas:

Este es sin duda el elemento ms interesante de la programacin con ventanas mltiples en Director. 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 vaco" 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. 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, como no, podemos volver a "hablar" con la pelicula principal (el escenario), usando el script tell the stage to...
tell the stage to set the puppet of sprite 2 to false

Y esto, mas o menos es todo en cuanto a ventanas. En el proximo capitulo veremos como utilizar mens 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, por encima del plug-in de Flash, que si bien es optimo para animaciones vectoriales interactivas, Shockwave va mucho mas alla, utilizando el Shockwave Multiuser Server para aplicaciones multiusuario, manejo de bases de datos, chats IRC, etc... Sin embargo ahora veremos una utilizacin muy sencilla de Shockwave y proyectores de Director para escribir cookies en el navegador cliente y preferencias de una aplicacin de Director.

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

getNetText ( )
Uno de los modos de publicacin mas usados en Director hoy dia, es la publicacin en formato Shockwave, y la inclusin de peliculas interactivas, como juegos, etc... en paginas web accesibles a traves de internet. En este contexto, que cada vez cobra mas fuerza, aparecen nuevas necesidades de comunicacin para nuestras peliculas. Como hacer juegos multijugador en red? Como enviar o recibir variables de un CGI?.

Mas adelante aprenderemos un poco sobre como hacer juegos con chats IRC, etc, utilizando el Shockwave Multiuser Server de Director. En el capitulo anterior vimos como escribir algo parecido a "cookies" con Shockwave. Ahora vamos a centrarnos en aprender como trabajar con CGI y ASP del lado del servidor, para enviarle datos o recibir sus respuestas.

getNetText para enviar variables al CGI: Veamos este script: set url = "http://miservidor.com/puntos.asp?juego="3enraya"&puntos;=" & puntos & "&user;=" & jugador getNetText( url ) En este scrip, en primer lugar creamos una variable que contenga una cadena en el formato correcto para ser enviada a una pagina ASP. Lo hacemos con "set url = ...". El resultado real de la cadena de arriba seria finalmente: "http://miservidor.com/puntos.asp?juego="3enraya"&puntos=3&user;=pepe " Una vez tenemos ya la cadena a enviar al CGI, nuestro siguiente script se encargar simplemente de enviarla con el comando de Lingo: "getNetText". Lo hacemos con: getNetText( url ) Siendo "url" la variable de texto que habiamos construido antes. Bueno, hasta aqui todo bien no?, hemos creado una cadena para enviar con texto y variables y la hemos enviado a la pagina ASp o al CGI del servidor.

En este script no esperamos ninguna respuesta del servidor, simplemente enviamos los datos y seguimos a lo nuestro. Pero, y si queremos cargar los datos que nos pueda devolver un CGI, como un registro de una base de datos, unas variables de sesin, etc ? getNetText para recibir variables del CGI: set netID = getNetText ("http://miservidor.com/database.asp") Este script, llama a una pagina ASP, y esta responde como si hubiera recibido cualquier otro "Request.Form", de un formulario de una pagina. Se supone que esta pagina ASP ya existe y responde adecuadamente con un valor, cuando se la llama. Pero Como atrapamos nosotros su respuesta?. Si os fijais vereis que he asignado un identificador a la operacin getNetText, con "set netID =". Asi, Director recuerda que la operacin de red en curso se llama "netID". (Tambien puede llamarse de otra forma, como vosotros querais, yo he sido hortodoxo). Esto vamos a utilizarlo para recuperar la informacion cuando esta venga de vuelta. 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.

Para esto utilizamos el comando de Lingo netDone(netID), para comprobar que netID haya finalizado. Si esta operacin ha finalizado (cuando netDone sea igual a TRUE ), ponemos el resultado de la operacin contenida en el campo de texto llamado "datos". El resultado de la operacin de red, lo recuperamos siempre con el script: netTextResult(netID). Ahi teneis el script completo: on exitFrame go to the frame global netID if netDone(netID) then member("datos").text = netTextResult(netID) go next end if

Como veis, primero se comprueba netDone( ) , y si esta es TRUE, o sea si ha terminado la operacin, se recoge el resultado con netTextResult( ), y se pone en el campo de texto llamado "datos" para que podamos verlo. Recordad que no debeis poner en el mismo cuadro la peticin y la espera de respuesta, ya que de haber un bucle en ese cuadro, la peticin se repetiria una y otra vez sin dar tiempo a llegar la respuesta y de seguir la pelicula avanzando no dara tiempo a recibir la respuesta. Para estos propositos es costumbre realizar la llamada en un cuadro, y en el siguiente cuadro esperar a que la variable global netID se complete, para recuperar los datos y continuar si se quiere.

Trigonometria para Juegos ( parte 1)


En esta pelicula de ejemplo, veremos como hacer girar objetos de distintas formas, utilizando las funciones cos y sin en Director o Math.cos y Math.sin en Flash 5. Esto es muy util para mover objetos en juegos, y hacer simulaciones de todo tipo. Tambien veremos como hacer que un objeto se desplace hacia la posicion del raton. El codigo es muy sencillo de convertir a Flash y es recomendable examinarlo a fondo en la pelicula que descargueis, para imprimirlo o pegarlo en vuestros proyectos.. Decargar la pelicula de ejemplo en formato Director 7

Uso de Listas en Lingo.


Las listas en Director son un recurso muy potente e imprescindible de utilizar en casi cualquier proyecto. Basicamente una Lista de Lingo es una forma de almacenar informacion ordenadamente, de forma que luego la podemos mantener en memoria para consultarla o manipularla de muchas formas. Supongamos el caso de un tablero de damas o ajedrez en donde las fichas estan colocadas en una casilla inicial. Durante el juego esas fichas al ser movidas o comidas pasaran a tener otra posicion distinta a la inicial. 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. Con ellas no solo podemos tener las posiciones de las fichas, al dia sino que ademas podemos consultarlas para averiguar si una ficha que va a ser movida hara un movimiento valido, sin subirse encima de otra ficha del mismo color, porque en todo momento conocemos la situacion del tablero gracias a nuestras listas del juego.

Las Listas: En Lingo existen dos tipos de Lista: la Lista Simple y la Lista de Propiedades. Veamos la primera, la Lista Simple:

Para definir e inicializar una lista vacia simple en memoria sobre la que trabajar utilizamos: global milista limista = [ ] Aqui tenemos una lista vacia, esperando a ser llenada con informacion. Para aadir un valor a la lista podemos utilizar la funcion: add(milista, valor), por ejemplo. global milista add(milista, #peonnegro) -- ahora la lista tendra el valor: [#peonnegro] Si aadimos un nuevo valor a la lista, pasara a ocupar el lugar siguiente, por ejemplo: global milista add(milista, #alfilnegro) -- ahora la lista tendra los valores: [#peonnegro, #alfilnegro] Para recuperar los datos existentes en una lista utilizamos la funcion: getAt(lista, posicion) global milista getAt(milista, 2) -- devolveria el segundo valor de la lista: #alfilnegro Podemos saber tambien el numero de elementos que tiene una lista con count(milista) , Asi podriamos utilizar un bucle para extraer todos los elementos de una lista, por ejemplo: repeat with x = 1 to count(milista) dato = getAt(milista, x) put dato end repeat -- 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. Tambien podemos recuperar un dato en una posicion de la lista con gePos(lista, posicion) pero debemos estar seguros de que ese dato existe para no provocar un error en el programa. Esto nos devolvera un numero que corresponde con la posicion del elemento en la lista, por ejemplo: num = getPos(milista, #peonnegro) -- num pasaria tener el valor 1, que corresponde a la posicion de este elemento en la lista.

Si queremos borrar un valor de la lista simple utilizamos la funcion: deleteAt(lista, posicion) Finalmente si quisieramos vaciar por completo una lista simplemente tendriamos que sealarla como vacia del mismo modo que la inicializamos antes: global milista limista = [ ] En definitiva las listas simples nos permiten almacenar objetos de forma ordenada, 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. Este valor pasa a ser asociado a su clave, pudiendo ser recuperado simplemente a traves de su clave, igual que si se tratara de una variable con sus partes, nombre y valor. 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. global milista limista = [ : ] Para aadir un valor a esta lista con su clave utilizamos: addProp(lista, clave, valor), por ejemplo: addProp(milista, #peones, 4) addProp(milista, #alfilnegro, "H1V1") addProp(milista, #reyblanco, point(280, 233)) Ahora nuestra lista tendria este formato: [#peones: 5, #alfilnegro: "H1V1", #reyblanco: point(280, 233)] Normalmente utilizamos las listas para almacenar el mismo tipo de datos, podemos tener una lista para las posiciones, otra para las fichas comidas, otra para las casillas vacias, etc... este ejemplo anterior era solo ilustrativo. Fijaros que el formato de las Listas de Propiedades es siempre: [clave : valor , clave : valor]. Para recuperar el valor de una propiedad de una lista utilizamos: getAProp(lista, propiedad), por ejemplo el script: getAprop(milista, #reyblanco), devolveria el valor point(280, 233), que es el valor de la propiedad #reyblanco, de la lista milista.

Si queremos cambiar el valor de una propiedad ya determinada de la lista utilizamos: setAProp(lista, clave, valor) Por ejemplo el script: setAprop(milista, #peones, 18) asignaria a la clave #peones el valor 18, con lo que la lista tendria ahora este formato: [#peones: 18, #alfilnegro: "H1V1", #reyblanco: point(280, 233)] Si ahora consultaramos el valor de esta clave en la lista con getAprop(milista, #peones) obtendriamos el numero 17. Hasta aqui hemos visto como trabajar con Listas en Lingo y como recuperar y manejar los valores almacenados en ellas. 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, segun vayais entrando en la programacion y vayais usandolas vereis como es dificil entender como habiais hecho las cosas hasta ahora sin ellas. Con las Listas siempre teneis ahi, en la memoria del ordenador, una completa base de datos con lo que necesitara vuestro programa para funcionar. Se os puede ocurrir tambien combinar esto para guardar los datos de las listas en el disco, con las funciones setPref y getPref para poder recuperarlos en cualquier otro momento. Habeis pensado como Director y otros programas conservan la posicion de las ventanas, los directorios de disco, etc, cada vez que los abris? Estos programas usan algo muy parecido a las Listas de Lingo para mantenerse personalizados por los usuarios.

Primeramente definir a Macromedia Director: es un programa de autor que sirve para la creacin de aplicaciones multimedia . Pero qu es esto de "crear aplicaciones multimedia"? Como Uds. seguramente sabrn, una aplicacin es un programa autnomo, que no necesita ms que el sistema operativo para funcionar. Pues bien, Director crea sus "proyectores", los que permiten ver nuestros trabajos en cualquier computadora, sin necesidad que esta tenga instalado Director. Y Multimedia es un trmino que se refiere a la integracin de distintos medios en un mismo contexto. Llamamos multimedia a un producto que incluye audio, vdeo, textos, animacin, imgenes en 2D y 3D...Director nos permite la inclusin de estos elementos en nuestros trabajos. Podemos decir tambin que Director es un gran "integrador" de recursos. Su versatilidad le permite incluir mltiples formatos de imagen, video y audio, as como tambin "movies" de Flash. Quiz sea por esto que sus herramientas no le permiten una gran ductilidad a la hora de crear sus propias interfaces grficas. De hecho, y por lo menos en cuanto a mi

experiencia personal se refiere, es preferible crear estas interfaces en otro programa (Fireworks, Photoshop, Freehand, etc), y luego importarlas desde Director. La versatilidad de Director no se logra tanto por sus herramientas, sino por Lingo, el lenguaje que nos permite sacarle el mximo de posibilidades, y del que en este tutorial veremos lo bsico e indispensable como para empezar a trabajar con cierta complejidad. Con respecto a su interface: no es difcil, pero s compleja. Tiene mltiples opciones referidas a infinidad de elementos. A aquellos que ya sepan algo de Flash les resultar un contexto familiar, y a aquellos que no sepan les anticipo lo que se anticipa ante cualquier aprendizaje: un poco de esfuerzo, y el resto se har ms fcil. Pero bueno, basta de palabras y empecemos con lo nuestro. Elementos de la interface

Como vemos, inicialmente no hay nada novedoso, pues guarda el tpico formato de interfaz que vemos en muchos programas. Pero centrmonos 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. correspondientes a

Botn de Stage (Escenario): muestra u oculta el Stage, que es el lugar en donde se desarrolla la accin del movie (pelcula) de Director, o sea, en donde ponemos los objetos. Botn del Cast (Reparto): como lo indica el nombre, muestra u oculta el "Cast" de este movie, que es el lugar endonde se agrupan todos los elementos que usaremos. Acta de modo similar a las libreras de Flash o Fireworks, dndonos la posibilidad de reutilizar un

elemento varias veces, sin necesidad de crearlo nuevamente. Botn del Score (Guin): muestra u oculta el "Score", que es el lugar en donde se define qu acciones harn los personajes, en qu momento, y por cuanto tiempo. Para quienes conocen Flash, su interfaz es similiar. Aqu tenemos las tres ventanas visibles: el Cast y el Score, con el Stage de fondo. Pero empecemos trabajar para darnos cuenta de su funcionamiento bsico.

Fijmonos, por ejemplo, en esta imagen de abajo: 1- Hemos seleccionado la herramienta de Figura circular con relleno. 2- Para dibujar un crculo en el stage. 3- Este crculo pas inmediatamente a formar parte del Cast, y se le asign el nmero 1 sencillamente porque es lo primero que hicimos. 4- A su vez, este "personaje" tiene asignada, por defecto, una duracin de 28 fotogramas (frames) en el canal 1 del Score, aunque, obviamente, luego podemos modificar esta duracin.

Vamos ahora a explicar brevemente el funcionamiento y la interaccin de estas partes: En la paleta de herramientas tenemos las siguientes:

Como se puede ver, la distribucin y tipo de herramientas es similar a los dems editores de imgenes. Nosotros, para hacer el crculo anterior, elegimos la herramienta circular rellena, e hicimos el crculo. En el Stage slo pasa que el personaje aparece. Veamos ahora el Cast. Cast Window:

Es la ventana que guarda todos los personajes de la pelcula de Director. Para los que conocen Flash, equivale a la librera en un movie. Cada uno de estos personajes puede ser reutilizado sin necesidad de ser creado nuevamente. El crculo del ejemplo podemos usarlo cuantas veces lo necesitemos, sin necesidad de que lo dibujemos nuevamente. Como vemos, cada miembro del cast tiene un nmero, que puede ser reemplazado por un nombre que le demos nosotros, clikeando sobre l, escribiendo el nombre en la caja de texto que llamamos "Dragueo del cast member", y luego dndole Enter. Los miembros del Cast pueden ser nativos de Director (creados en Director, como el crculo del ejemplo), o importados desde otras aplicaciones. Para esto:

a) Clickeamos en un cast member vaco con el botn derecho. b) Utilizamos la opcin "Import". c) Buscamos el elemento, lo seleccionamos, y luego procedemos de acuerdo a las opciones que aparezcan. Qu elementos pueden ser importados a Director como "Cast member"? A continuacin puede ver una lista de los distintos formatos:

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

Los canales del sprite son aquellos en donde medimos y definimos la accin de los personajes. Canal de Tiempo: en l introducimos las modificaciones necesarias en el tiempo de la pelcula, tales como cambiar de velocidad (en frames por segundo), detener la pelcula durante un tiempo determinado, o detenerla a la espera de una accin del usuario (por ejemplo, un click).

Canal de Paleta: contiene la informacin sobre los cambios en las paletas de color de la pelcula. Canal de Trancisiones: permite crear efectos especiales en la trancisin de un frame a otro (fundidos, desplazamientos, etc). Canales de sonido: son dos, y almacenan archivos de sonido que se pueden ejecutar a la vez, contnuamente, o durante un tiempo determinado. Canal del Script: en l especificamos las rdenes que se ejecutan automticamente cuando la pelcula llega a determinado frame. Canales de sprite: son los canales en donde van los personajes de la pelcula. Nos queda ahora repasar lo visto hasta ahora mediante algn ejercicio: 1- En la paleta de herramientas seleccionamos la de crculo con relleno y dibujamos uno en el stage.

2- Con el botn para mostrar el Score lo hacemos aparecer. Ah observaremos que el crculo 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 crculo en la escena.

3- Con el botn para mostrar el Cast lo hacemos aparecer, seleccionamos el crculo, 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 crculo con el mouse para moverlo hacia cualquier lugar. Nos quedar algo ms o menos as:

5- presionamos con el botn derecho en el frame N 20 y seleccionamos la opcin "Insert Key Frame". Este "key Frame", al igual que el del principio y el del final, marcan un estado o momento del elemento que estamos trabajando. El del principio, est sealando la posicin inicial del crculo; el del final, marca la nueva posicin 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. Ntese adems, en el Score, que el crculo ya tom el nombre que le habamos 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 botn de Play . Veremos que el crculo recorre el trayecto que le sealamos de modo repetido. O sea, est "loopeando" (lupeando) o repitiendo el movimiento. Esto es porque en ningn momento le hemos sealado 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 dctil. "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 animacin, 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 bsicamente 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 prxima entrega, empezaremos a trabajar intensamente en la interrelacin entre los distintos comandos, y ya con importacin de elementos externos a Director. ir a siguiente capitulo

Comencemos partiendo de nuestro ejercicio final de la clase 1, en donde bsicamente tenamos lo siguiente:

1- En el Stage tenemos el elemento que dibujamos, llamado "Crculo", con el trayecto que nosotros le habamos asignado. 2- En el Cast aparece el elemento junto con otro: la accin que le asignramos en el canal de eventos, recuerdan?, el "go to the frame", que equivala a un Stop. 3- Lo dicho: en el Score vemos la cantidad de frames que ocupa el elemento llamado "Crculo", con un "key frame" al principio; otro al final; y otro en el medio. Cada uno de estos marca distintas instancias o posiciones del elemento dentro de un trayecto. Todo esto, obviamente, asignado por nosotros. Efectos en el canal de Tiempo: Sobre este mismo ejercicio, vamos a empezar a aplicar algunos efectos. primeramente en el canal de tiempo. Hagamos doble click en el canal de tiempo, a la altura del Frame 20. Aparecer el siguiente panel:

Si seleccionamos "Tempo", podremos cambiar la cantidad de frames por segundo que procesa la pelcula de Director. A mayor cantidad de frames, ms rpido ser el movimiento; a menor cantidad, ms lento. Por ahora lo dejaremos en 30 frames por segundo, que es la medida por defecto. Si seleccionamos "Wait", le estamos diciendo al elemento que, en ese frame, se detenga. Cunto tiempo se detendr? Lo podemos definir al lado, aumentando o disminuyendo la cantidad de segundos que queremos dure la pausa. "Wait for Mouse Click or Key Press", es esperar por un click del mouse o por la presin de una tecla, y es otra variante del Wait, para que la pelcula se detenga hasta que alguien haga click con el mouse en cualquier parte, o presione alguna tecla del teclado. Y "Wait for Cue Point" es otra variante que veremos ms adelante. Slo resta darle OK, y cuando ejecutemos mediante el botn de Play veremos que al

llegar al frame 20 se detiene la cantidad de segundos que le hayamos determinado, o bien espera hasta un click o hasta una tecla que se presione.

Efectos en el canal de Trancisiones: Vamos a darle un efecto de trancisin al comenzar el movimiento, as que, doble click en el canal de trancisiones a la altura del frame 1. Aparecer el siguiente panel:

1- Seleccionamos la categora de trancisin que queremos darle al elemento. Slo como ejemplo, vamos a seleccionar COVER. 2- Dentro de la categora seleccionada, elegimos algn tipo de efecto que nos guste. Slo como ejemplo vamos a seleccionar "Cover down" 3- En la parte inferior configuramos: a) Duration: cunto tiempo en segundos durar el efecto de trancisin. b) Smoothness: la "suavidad" con que se har esa trancisin. c) Affects: aqu determinaremos si el efecto se realiza slo en el elemento seleccionado, o en TODO el Stage. La mejor manera de aprender el funcionamiento de las trancisiones es probando. 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, antes de aplicar la trancisin haciendo doble click en el canal de trancisiones, debe tener seleccionada LA o LAS imgenes a las que quiere aplicar este efecto. Efectos en el canal de Sonidos: Como viramos en la primera clase, los sonidos, primeramente, hay que importarlos. Lo haremos paso a paso para repasar lo de la clase anterior, pero conviene tenerlo presente de ahora en ms. 1- Click con el botn derecho en un lugar vaco del Cast Member, y luego "Import".

2- Buscamos el archivo de sonido que necesitamos.

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

carpetas. Todo esto para el caso en que queramos importar varios archivos. En nuestro caso, slo era este. 3- De los dos canales de audio que tenemos en la ventana del Score, tomamos el archivo de sonido del Cast, y lo llevamos al primero. All tomo la extensin por defecto que le da Director, o sea, 28 Frames. esto quiere decir que, aunque el tema sea ms extenso, se callar en el frame 28. Prubenlo haciendo clic en Play , y si el archivo de sonido es largo, lo vern: slo llega hasta el 28. luego el movie sigue en silencio. Obviamente, si extendemos el sonido a ms fotogramas, este durar ms.

Navegacin dentro de un mismo "movie": Hasta ahora estamos trabajando dentro de un solo movie. Podemos trabajar con varios, e interactuar o navegar entre ellos, pero primeramente aprenderemos a navegar dentro de uno solo. Hasta ahora, nuestro movie llega slo hasta el frame 40, y se halla en el "sprite" 1.

1- Ahora vamos a agregar otro elemento, en el sprite 2, pero a partir del frame 45. Y lo hacemos posicionndonos (haciendo click) en dicho frame, y luego dibujando la imagen en el Stage. 2- Para cambiar un poco el color de la imagen, recurrimos a la paleta de colores de relleno, que se halla en la paleta de herramientas. 3- A fin de crear una referencia para la navegacin, creamos una "marca", haciendo clic en la barra blanca, arriba de los canales de efectos. A la marca le ponemos cualquier nombre que nos sirva de futura referencia.

4- Volvemos al ltimo frame del primer elemento y all insertamos un botn de la paleta de herramientas. Dentro de l, le ponemos el texto que querramos. Este botn ser el que nos sirva para hacer el "salto" hasta la otra escena del movie. Ntese que, por defecto, toma la cantidad de frames que encuentra vacos desde el frame 40 hasta el prximo frame ocupado. Pero nosotros slo lo necesitamos presente en un frame: el ltimo del primer crculo, as que, reducimos la cantidad de frames a ese solo.

5- Para asignarle la accin al botn, hacemos clic con el botn derecho sobre l, y luego vamos a "script".

6- All nos aparecer la siguiente ventana:

El texto que aparece remarcado es el que deberemos escribir. Este comando le dice que vaya a "next", y Director interpreta que NEXT es la prxima marca existente, en este caso "circrojo"; y como queremos que el botn slo aparezca al final de la animacin del crculo negro, haremos que el botn ocupe un solo frame. Adems, y para que el movie no vuelva al principio, le agregaremos en el canal de eventos, a la altura del ltimo frame del crculo rojo, el "go to the frame" para que se detenga all. Bien, ahora podemos probar la pelcula. Si todo est bien, cuando el crculo negro llegue al final de su movimiento, aparecer el botn para ir al crculo rojo, y haciendo clic sobre l, iremos directamente al crculo rojo. Navegacin hacia otro "movie": Supongamos que la idea es que el botn nos lleve a otro movie de director. Pues en ese caso

en vez de "go to next", el comando que ponemos en el script del botn, debe ser go to movie "nombre del movie", en este caso se llama "clases2", y recuerde que el nombre del movie va siempre entre comillas. El botn nos vincular, por defecto, al frame 1 de la pelcula indicada. Y si queremos que en vez del frame 1 vaya a un frame especfico, por ejemplo, al 3? Pues entonces:

Una ayuda muy importante: Dentro de la ventana de Script hay dos botones que nos pueden ayudar mucho para orientarnos en la utilizacin de las sentencias de lenguaje Lingo, a partir de ahora y en el resto de su aprendizaje: Alphabetical Lingo: reune las la sintaxis de las sentencias ms utilizadas de Lingo, por orden alfabtico. Por favor, no nos confundamos: nos muestra la SINTAXIS, o sea el esquema de cada una de las sentencias. NO ENCONTRAREMOS las sentencias armadas y listas para utilizar en nuestros proyectos, sino un esquema bsico de las mismas. Categorized Lingo: igualmente, pero agrupa las sentencias por categora (navegacin, control de movies, manejo de sonidos, etc.). Utilizacin de "Library Palette": habr notado que el botn no tiene la tpica "mano" que aparece siempre para indicar la interactividad de algunos elementos, por ejemplo, un link. Antes esto se solucionaba en Director con lingo, poniendo determinadas sentencias que servan para que esta "manito" apareciese. Ahora macromedia ha recopilado los mecanismos ms comunes en una librera, que se activa mediante el botn "Library Palette" siguiente paleta: . Al clikear sobre l, se abrir la

El botn marcado en rojo, abre la lista de categoras, y algunas de ellas, tienen subcategoras. Por ejemplo, nosotros hemos ido a la categora "Animation", y dentro de ella hemos seleccionado la opcin "Interactive".

Dentro de "Interactive" seleccionamos la opcin "Rollover Cursor Change", la tomamos con el mouse y la llevamos directamente sobre el botn. Con esto le agregamos al botn la propiedad de mostrar la "manito" para que el usuario sepa que ese botn es interactivo, o sea, que haciendo click sobre l pasa "algo". Pero vamos a ir ms all: vayamos hasta el crculo rojo, y pongamos sobre l la opcin "Draggable":

Al hacerlo, aparecer una ventana que nos pregunta si queremos aplicar esta propiedad para que el objeto pueda "draguearse" (ser trasladado) dentro del stage solamente. recomiendo que empiece con el mtodo "prueba y error" a investigar las distintas opciones que se pueden aplicar desde "Library Palette", pero para que no haya confusiones, aplique un comportamiento a cada objeto, y no ms de uno por objeto. Utilizacin de "Paint Window":

Hasta ahora hemos sacado los objetos de la paleta de objetos sin ningn tipo de opciones. Ahora aprenderemos a utilizar algunas opciones de la "Paint Window", que se abre con el botn correspondiente .

El resto de las herramientas son muy similares al perfil de cualquier "Paint". Slo hara falta clarar que luego de realizada la imagen que queremos, pasa a formar parte del Cast en formato de Bitmap. ahora bien, podemos realizarlo a la inversa, si, por ejemplo, importamos una foto hacia el cast, y tenindola seleccionada en el cast, presionamos el botn de Paint Window, se abrir el Paint editando la imagen. Anloga a la funcin del Paint, tenemos la "vector shape window", que se abre con el botn , pero que se utiliza para la realizscin de formas en formato vectorial. Utilizacin de "Property Inspector": Cuando seleccionamos una imagen en el cast, siempre aparece acompaada de un recuadro inferior que nos muestra algunas de sus caractersticas

Haciendo click en cualquier de los conos de ese recuadro, ingresamos en el "Property inspector", que en realidad es una ventana de propiedades: Desde qu frame comienza y en cul termina. Bloquea el objeto ante posibles cambios. Muy til para no moverlo por accidente mientras trabaja con otros objetos. Aplicable slo a objetos de texto, permite editar el texto durante la reproduccin del movie. Permite mover el objeto durante la reproduccin para probar distintas posiciones o movimientos, pero aclaremos que NO ES LO MISMO que la propiedad de dragueo que vimos anteriormente. Hace que el objeto deje un rastro de imgenes al moverse en el Stage. Refleja horizontal o verticalmente el objeto seleccionado. Es un men desplegable de distintas propiedades "de tinta" en el objeto. Luego lo iremos viendo.

Permite manejar las distintas opciones del color en el objeto. El resto de las propiedades hacen referencia a las opciones de tamao y de ubicacin del objeto seleccionado.

Propiedades de "tinta": Volvamos a nuestro primer crculo, el crculo negro, y recordemos que en la ventana de Sprite tiene 40 frames. Bien, ubiqumonos en el primer frame del crculo negro, vamos a su correspondiente "Property inspector", y en la propiedad de "Copy" (que es la que aparece por defecto), le bajamos el valor al 20%.

Si nos fijamos en el objeto en el Stage, veremos que ha adquirido cierta "transparencia", y si ejecutamos el movie, veremos que esa transparencia se va "opacando" a medida que avanza. Esto se debe a que en realidad le "bajamos" el color slo en el primer frame, y en el ltimo sigue con la tinta en el 100%. Lo que nosotros vemos en el transcurso del movie, es lo que realiza el programa para ir transformando la tinta del 20 al 100% del ltimo frame. Si desplegamos el men de tinta, veremos que hay otras opciones.

Recomiendo irlas probando una a una para ir aprendiendo su utilidad. Controles de Video: Por empezar, en el Stage hemos armado el siguiente movie:

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

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. 2- En este caso, hemos dejado que todos los elementos tengan los 28 frames por defecto que asigna Director, por una cuestin de comodidad. Pero lo importante aqu es que el video y sus botones de control duren lo mismo (en frames). 3- En el canal de eventos, al final, hemos puesto (cosa que nunca debemos olvidar) el script correspondiente para detener la pelcula. Ahora hagamos click derecho sobre la pelcula que importamos, y vayamos a "Cast member properties":

- Playback: tiene marcada la opcin "sync to sound", es decir, que el video se ejecutar al ritmo del audio, aunque se tenga que saltear frames. La otra opcin que hallaremos en ese men es "Play every frame", opcin esta que se ejecuta sin sonido y cuadro por cuadro. - Rate: indica la velocidad de ejecucin del video y se activa cuando en el Playback optamos por "play every frame". Tenemos tres opciones: a) Normal: el video se ejecuta a su propia velocidad. b) Maximum: el video sejecuta a la mxima velocidad permitida por el microprocesador de la PC. c) Fixed: el video se ejecuta a una velocidad determinada en frames por segundo, y que nosotros podemos definir en el cuadro "fps", al lado de Rate. - Framing: indica el modo en que se comportar el elemento movie al escalarlo en el Stage. Si cambiar su tamao (Scale), o si por el contrario se recortar (Crop) centrado o no (Center). - Show video: para mostrar o no el video. - 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. - Paused: cuando comience el movie de Director podemos determinar que se ejecute o no el personaje de video. En este caso es obvio que nos conviene ponerlo en "Pause", pues la orden para ejecutarse se la daremos nosotros mediante el botn de Play que creamos. - Loop: para que el video se repita contnuamente o no. - Streaming: una opcin slo apta para videos compatibles con Quick Time, hace que la pelcula se jecute mientras se carga en memoria. - Show controller: muestra u oculta los controles de video para Quick Time (abajo). Puede que nos ahorre trabajo, pero tambin es posible que reste originalidad grfica a nuestro proyecto. Cerrando el Cd autoejecutable: Para cerrar el Cd de manera que podamos ejecutarlo en cualquier PC, aunque esta no tenga instalado Director, debemos crear lo que llamamos el "proyector".

Para hacerlo vamos a File > Create proyector, y aparecer la siguiente ventana:

En esta ventana es donde seleccionamos los archivos de Director que formarn el ejecutable, y determinamos las caractersticas de la creacin del "proyector". A primera vista, lo que se puede ver es la lista de archivos de Director que podemos seleccionar, pero primeramente vamos a ir al botn "Options":

- Playback: indica si, de todas las pelculas que pueden componer la lista del proyector, se jecutan todas (marcando Play Every Movie); o nicamente la primera (sin marcar Play Every Movie). O tambin podemos definir que, si durante la ejecucin del proyector

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

Si importamos ms de una imagen, es lgico que, si estn en la misma carpeta, las seleccionemos juntas para no importarlas de a una.

Como estamos importando ms de un .gif, Director nos pregunta si esas imgenes forman parte de un gif animado, o si queremos importar las imgenes como mapas de bit.

Como en este caso, no se trata de un gif animado, seleccionaremos la opcin "Bitmap Image"; y como todas las imgenes que importaremos guardarn este mismo formato, seleccionaremos la opcin que aparece abajo "Same format for remaining files". A continuacin, cuando le damos OK, aparece otra ventana ms:

1- Aqu elegimos la calidad de la imagen. La opcin por defecto es de 24 bits, pero si elegimos de 8 bits podemos elegir ... 2- ... el tipo de paleta de colores. Las paletas de colores dependern, por ejemplo, del sistema operativo que estemos utilizando o inclusive del tipo de PC que usemos para trabajar (Windows, Macintosh, etc). 3- Trim white space: ajustar el espacio o fondo en blanco de la imagen a la superficie que esta ocupa. Dither: har que la imagen vaya mejorando su calidad hasta su calidad final, a medida que se vaya cargando en el movie. Lo que hemos hecho es importar dos imgenes que formarn parte de un botn de "e-mail". Una de ellas es la que corresponde a la vista normal del botn (mail up); y la otra corresponde a la vista del botn cuando el mouse pasa sobre l (mail over).

Aqu vemos los dos botones acompaados de otras imgenes dentro del Cast. He sealado la imagen "mail_up" porque es la imagen que llev al Stage, y la que corresponde a la vista por defecto del botn. A esta imagen le agrego la propiedad "Rollover cursor change" (para que se vea la manito, recuerdan?) desde Library>Interactive; y luego le agrego la propiedad "Rollover member change".

Al hacerlo me aparece el panel para definir los parmetros, es decir, con qu imagen del Cast se realizar el rollover. En este caso, ser con "mail_over". De este modo tenemos ya un efecto de botn muy comn en todas las aplicaciopnes web e interactivas; y adems, tenemos una gran libertad creativa, pues podemos crear los elementos grficos fuera de Director y luego importarlos. Antes de crear un Filmloop quisiera hacer una pequea aclaracin: Para quienes manejamos varios programas de edicin de imgenes, puesde que tomarnos el trabajo de crear un filmloop parezca un trabajo intil, y esto se debe a que es mejor y ms rpido importar un gif animado .... PERO ... no todos los que trabajan o van a trabajar con Director tienen la obligacin de saber manejar Photoshop, Fireworks, etc, y es por eso que igualmente lo vemos como tema. De lo dicho se desprende que el filmloop es algo ms o menos igual a un gift animado: una sucesin de imgenes fijas y correlativas que conforman un movimiento. Abajo tienen una.

El proceso en Director es relativamente sencillo: 1- Debemos importar todas las imgenes que conforman la secuencia animada al Cast, como se ve en la imagen.

Lo que hemos hecho posteriormente es, imagen por imagen, llevarlas al mismo canal de Score asignndole a cada una slo un frame. Obviamente, el orden debe ser el mismo que conforme la secuencia animada: la primer eimagen en el frame 1; la segunda en el 2, y as sucesivamente. Recalco lo siguiente: las imgenes se llevan directamente al Score y NO al Stage. esto es as para que todas ocupen automticamente la misma ubicacin, una arriba de la otra. 2- Seguidamente seleccionamos todos los frames en el Score, y vamos al men Insert>Film Loop. 3- Aparecer un panel para ponerle el nombre que querramos al loop.

El Filmloop queda en el Cast como un elemento ms (arriba derecha), listo para ser usado en cualquier momento, como si fuese un gif animado, por lo tanto, ya podemos borrar los frames que ocupaba en el Score (arriba izquierda). No se asusten si al borrar los frames vemos que se borra la imagen del Stage: ya no es necesaria. Lo que necesitamos es lo que est en el Cast. Controles de sonido: Ya hemos visto cmo importar sonidos y cmo incluirlos y variar su duracin dentro del movie de Director. Pero hay otras cosas que podemos hacer con los sonidos que usamos.

As que, primeramente importaremos un sonido al Cast, junto con 5 botones correspondientes al Play, Stop, Pause, Volumen, y Balance. Adems, vamos a dibujar una barra horizontal sobre la que corrern los controles de Volumen y Balance. Obviamente, esta barra la utilizaremos dos veces. En mi Stage qued ms o menos as:

Luego habilitaremos Library, y dentro de ella, en la categora "Media", buscaremos "sound". Aparecern seis controles, de los cuales usaremos nada ms que 5: - Play sound: se lo asignamos al botn de PLAY. - Pause sound: al de PAUSE. - Stop sound: al de STOP. - Channel volume slider: al de VOLUMEN. - Channel pan slider: al de CANALES. Queda un sexto que es Sound beep, que es para poner un beep en un botn o elemento. irector 8.5 (Bsico)- Tercera Clase (II) Cuando pongamos la propiedad de Play Sound sobre el botn de PLAY, aparecer este panel, que sirve para determinar:

1- Sonido a ejecutar (te da el nombre del sonido que importaste al Cast). 2- En qu canal quieres que se ejecute el sonido (lo que te da la posibilidad de ejecutar varios sonidos a la vez. 3- Evento con el que quieres que se ejecute el sonido. Como nosotros se lo asignamos a un botn, es lgico que le asignemos que se ejecute cuando hagamos clic en l. 4- Cantidad de "loops" (repeticiones) que queremos para el sonido.

Los puntos dos y tres son los nicos que debers determinar al hacer lo mismo con las propiedades de Pause y Stop sobre sus respectivos botones. Distinto es al aplicar en sus respectivos botones las propiedades de Volume Slider y Pan Slider.

1- Canal de sonido. 2- Aqu indicamos a qu mbito "constreir" el elemento (en este caso el botn). Como aqu indica, si ponemos 0 (cero), el control de volumen no se desplazar solamente a lo largo de la barra que dibujamos, sino que a lo largo de TODO el Stage. Aqu pusimos 2, porque es en el canal 2 en donde se encuentra la barra a la que queremos unir el botn. 3- Nivel de volumen inicial. Por defecto, el control de volumen aparecer al mximo, pero eso lo podemos cambiar a mano. Similar a este panel es el que aparece cuando ponemos la propiedad correspondiente al Pan Slider. Con la diferencia que el tem 3 nos da para determinar el estado del balance Estreo inicial. Bien, entonces tenemos todos los botones en el Stage y con sus respectivas propiedades. Ahora demos un vistazo al Score:

Nuestro trabajo final ser poner dos script, que sealo en la imagen, al principio y al final en el canal de eventos. El del principio es para detener TODO sonido, pues sino, el sonido se reproducira

automticamente al abrir el movie y el botn PLAY no tendra sentido. Este script es sound(1).stop( ). Y el del final es nuestro ya conocido go to the frame (el que sirve de stop al movie). Si todo est bien, los botones deben funcionar correctamente. Pero de todos modos, si por ms que lo revisen una y otra vez, no funciona algo, no dejen de escribirme. Entiendo que Director no es un programa simple. En nuestra prxima entrega empezaremos a trabajar con video y a ver cmo se cierra definitivamente un trabajo en un CD autoejecutable. Hasta entonces.