11. Creación de películas interactivas

Acerca de la creación de películas interactivas

Las películas interactivas implican a la audiencia Mediante el teclado, el ratón o ambos, la audiencia puede saltar a distintas partes de las películas, mover objetos, introducir información en formularios y llevar a cabo muchas otras operaciones interactivas Las películas interactivas se crean mediante la configuración de acciones, que son juegos de instrucciones que se ejecutan al producirse un evento específico Para que una acción se dispare, debe ocurrir uno de los siguientes eventos: que el cabezal de lectura alcance un fotograma o que el usuario haga clic en un botón o presione teclas del teclado Usted crea las instrucciones que indican a Flash la acción que tiene que realizar cuando ocurra el evento Las acciones se configuran en la ficha Acciones del cuadro de diálogo Propiedades de un botón o de un fotograma (las imágenes y los clips de película no tienen dicha ficha disponible)

Las instrucciones pueden consistir en una sola sentencia que indique la detención de la reproducción de una película o bien en una serie de sentencias que evalúen primero una condición antes de realizar una acción Muchas acciones requieren poca experiencia en programación Otras requieren el dominio de lenguajes de programación con el fin de realizar desarrollos muy sofisticados

Asignación de acciones a botones

Asigne una acción a una instancia de un botón para que la acción se ejecute cuando el usuario haga

clic o desplace el puntero sobre un botón La asignación de una acción a una instancia de un botón no afecta a las demás instancias del botón Al asignar una acción a un botón, se especifican los eventos del ratón que disparan dicha acción También es posible asignar una tecla del teclado que dispare la acción

Para asignar una acción a un botón:

1 Seleccione una instancia de botón y elija Modificar > Instancia, o haga doble clic en la instancia de botón

2 Haga clic en la ficha Acciones

3 Haga clic en el botón + (más) y elija una sentencia en el menú emergente

Si la ficha Acciones no está disponible significa que la instancia seleccionada no es un botón Puede hacer clic en la ficha Definición y hacer que la instancia seleccionada se comporte como un botón, aunque es probable que no tenga los estados especiales de botón asociados a ella Consulte "Creación de botones" a pagina 140

Cuando se elige una sentencia, Flash inserta de forma automática una sentencia On/End On y establece Release como estado predeterminado del botón También se puede seleccionar On MouseEvent para insertar una sentencia On/ End On

4 En el panel de parámetros, con la sentencia On (Release) resaltada, seleccione los eventos de ratón y teclado que disparen la acción:

Press Se produce al presionar el botón del ratón mientras el puntero se encuentra sobre el botón

Release Se produce al soltar el botón del ratón mientras el puntero se encuentra sobre el botón Esto configura el comportamiento estándar de hacer clic

Release Outside Se produce al soltar el botón del ratón mientras el puntero se encuentra fuera del botón

Roll Over Se produce al desplazar el puntero sobre el botón

Roll Out Se produce al desplazar el puntero fuera del botón

Drag Over Se produce al presionar el botón del ratón mientras el puntero se encuentra sobre el botón, se desplaza fuera del botón y, a continuación, vuelve a desplazarse sobre el botón

Drag Out Se produce cuando el botón del ratón se presiona con el puntero sobre el botón y, a continuación, el puntero se desplaza fuera del botón Key Press Se produce al presionar una tecla específica

5 Haga clic sobre el botón + (más) y elija una sentencia en el menú emergente En función de la acción que elija, el panel de parámetros puede ofrecer parámetros adicionales para la sentencia Para obtener información sobre una sentencia determinada, consulte el tema correspondiente más adelante en este capítulo También puede buscar sentencias específicas en el índice Si está familiarizado con las técnicas básicas de programación, puede introducir parámetros que Flash pueda evaluar al reproducirse la película Consulte "Escritura de expresiones" a pagina 187

6 Asigne cualquier otra sentencia que desee Flash inserta la sentencia debajo de la acción actualmente seleccionada Utilice los botones de flecha Arriba y Abajo para cambiar el orden de las sentencias

Para probar un botón:

Elija Control > Habilitar botones antes de reproducir la película

Asignación de acciones a fotogramas

Asigne una acción de fotograma a un fotograma clave para hacer que la película lleve a cabo una acción cuando alcance dicho fotograma Por ejemplo, para crear un bucle en una película, puede añadir una acción de fotograma al fotograma 20 que especifique "go to frame 10 and play"

Es recomendable colocar las acciones de fotograma en una capa separada Los fotogramas con acciones se indican con una pequeña a en la línea de tiempo

1 Seleccione un fotograma clave en la línea de tiempo y elija Modificar > Fotograma o haga doble clic en un fotograma clave Si no se selecciona ningún fotograma clave, la acción se asigna al fotograma clave anterior

2 Haga clic en la ficha Acciones y, a continuación, haga clic en el botón + (más) y luego elija una sentencia en el menú emergente En función de la acción que elija, el panel de parámetros puede ofrecer parámetros adicionales para la sentencia Para obtener información sobre una sentencia determinada, consulte el tema correspondiente más adelante en este capítulo También puede buscar sentencias específicas en el índice Si está familiarizado con la programación básica, puede especificar parámetros como expresiones que Flash evalúa al reproducirse la película Consulte "Escritura de expresiones" a pagina 187

3 Asigne más sentencias para que se produzca más de una acción al reproducirse la película Flash inserta una nueva sentencia debajo de la actualmente seleccionada Flash

ejecuta las sentencias en el orden en que aparecen Utilice los botones de flecha Arriba y Abajo para cambiar el orden de las acciones

Para probar una acción de fotograma en una escena:

Elija Control > Habilitar acciones de fotograma antes de reproducir la película

Modificación de acciones

Utilice los controles del panel Acciones del cuadro de diálogo Propiedades de instancia para suprimir o modificar el orden y los parámetros de las sentencias Estos controles son muy adecuados para gestionar las acciones de fotogramas y botones que contienen varias sentencias

Para desplazar la sentencia arriba o abajo por la lista:

Haga clic en los botones de flecha Arriba o Abajo

Para suprimir una acción:

Haga clic en el botón - (menos)

Para modificar los parámetros de las acciones existentes:

Introduzca los nuevos valores en el panel de parámetros

Reproducción y detención de películas

A menos que se indique lo contrario, una vez que se inicia una película se reproduce por todos los fotogramas de la línea de tiempo Utilice las sentencias Play y Stop para detener o iniciar una película a intervalos específicos Por ejemplo, puede detener una película al final de una escena antes de continuar con la siguiente escena Una vez detenida, una película debe iniciarse de nuevo de forma explícita Para reiniciar la película, utilice la sentencia Play Play y Stop se utilizan por lo general para controlar los clips de películas con botones Para ello, no obstante, el clip de película debe contener un nombre de instancia y un destino asignado con Tell Target Consulte "Control de otras películas y clips de película" a pagina 176

Ajuste de calidad de visualización de películas

Utilice la sentencia Toggle High Quality para activar y desactivar la visualización suavizada de una película Con la visualización suavizada desactivada, la película se reproduce con mayor velocidad Toggle High Quality afecta a todas las películas que se reproducen en el Reproductor Flash Una sentencia Toggle High Quality asignada a un botón permite a la audiencia ajustar la calidad de reproducción de la película La siguiente acción desactiva la visualización suavizada con el primer clic, y la activa con el segundo

On(Press) Toggle high quality End On

Puede utilizar también la propiedad _highquality según se describe en "Propiedades globales" a pagina 194

Detención de todos los sonidos

Utilice la sentencia Stop All Sounds para detener la pista sonora sin interrumpir la línea de tiempo de la película (esto no suprime sólo el volumen) Stop All Sounds afecta a todas las películas que se reproducen en el Reproductor Flash Asigne Stop All Sounds a un botón para permitir que la audiencia detenga los sonidos al reproducir una película

Salto a fotogramas o escenas

Utilice la sentencia Go To para saltar a un fotograma o una escena específica de la película Cuando la película salta a un fotograma, se puede optar entre detenerla en el nuevo fotograma o reproducirla a partir del mismo El comportamiento predeterminado es saltar a un fotograma y detener la película La sentencia Go To contiene los siguientes parámetros:

• Escena especifica una escena de destino Si selecciona la escena actual o una escena con nombre, puede especificar un fotograma de dicha escena Si selecciona la escena siguiente o anterior, la película salta al primer fotograma de la escena

• Fotograma especifica un fotograma de la escena actual o una escena indicada con la opción Escena Puede introducir un fotograma por número, rótulo, o bien una expresión que evalúe un número o un rótulo de fotograma Puede especificar también el fotograma siguiente o anterior Por ejemplo, esta sentencia indica el fotograma situado cinco fotogramas por delante del fotograma que contiene la acción:

Go to and Stop(_currentframe + 5) Para obtener información sobre cómo escribir expresiones, consulte "Escritura de expresiones" a pagina 187

• Go To and Play indica a la película que continúe su reproducción a partir del fotograma especificado Al desactivarse esta opción, la película se detiene en el fotograma especificado

Salto a otros URL

Utilice la sentencia Get URL para cargar un documento de un URL determinado en una ventana específica, o para pasar variables a otra aplicación en un URL definido

Para probar esta acción, el archivo que cargar tiene que encontrarse en la ubicación especificada Debe existir una conexión a la red para los URL absolutos (por ejemplo, http://wwwmiservidorcom/)

La acción Get URL contiene los siguientes parámetros:

• URL especifica el URL del que obtener el documento

• Ventana especifica la ventana o el fotograma HTML en que debe cargarse el documento Puede introducir el nombre de una ventana o un fotograma concretos o introducir una expresión También puede elegir los siguientes nombres de destino reservados:

_self especifica el fotograma actual de la ventana vigente

_blank especifica una nueva ventana

_parent especifica el padre del fotograma actual

_top especifica el fotograma de nivel superior de la ventana actual

• Variables determina si utilizar GET o POST para enviar variables, o bien no pasar ninguna variable El método GET adjunta las variables al final del URL y se utiliza cuando son pocas las variables implicadas El método POST envía las variables en un encabezado separado y es capaz de enviar cadenas mucho más largas Consulte "Tipos de valores" a pagina 185

Comprobación de carga de fotogramas

Utilice la propiedad _framesloaded (en una sentencia If) o la sentencia If Frame Is Loaded para comprobar si el contenido de un fotograma específico está disponible en el sistema local Para comenzar la reproducción de una animación sencilla mientras el resto de la película se descarga en el ordenador local se utilizan con frecuencia _framesloaded o If Frame Is Loaded La diferencia principal entre los dos enfoques radica en que la sentencia If (_framesloaded) permite añadir con rapidez una sentencia Else o Else If a la acción La sentencia If Frame Is Loaded permite especificar un número determinado de fotogramas en una sentencia sencilla

Para utilizar la propiedad _framesloaded en una acción que reproduce una animación breve mientras termina de cargarse una película:

1 Cree un bucle de animación breve al principio de la película Por ejemplo, puede crear un bucle que muestre el mensaje "Cargando película"

2 Cree una acción de fotograma con If Frame Is Loaded que salte fuera del bucle de animación cuando todos los fotogramas se hayan cargado y prosiga la reproducción de la película Por ejemplo, una película con un bucle de animación de dos fotogramas al principio requeriría la siguiente acción adjunta al fotograma 2:

If (_framesloaded)

Go to and Play (3)

Else

Go to and Play (1)

End If

Para utilizar la sentencia If Frame is Loaded en una acción que reproduzca una

animación breve mientras termina de cargarse una película:

1 Cree un bucle de animación breve al principio de la película Por ejemplo, puede crear un bucle que muestre el mensaje "Cargando película"

2 Cree una acción de fotograma con If Frame Is Loaded que salte del bucle de animación cuando todos los fotogramas se hayan cargado y prosiga la reproducción de la película Por ejemplo, una película de 30 fotogramas con un bucle de animación de dos fotogramas al principio requeriría la siguiente

acción adjunta al fotograma 1:

If Frame Is Loaded (30)

Go to and play (3)

End If Frame Is Loaded

Al insertarse una sentencia If Frame is Loaded, Flash inserta de forma automática una sentencia End If Frame is Loaded al final

3 Para el fotograma 2, adjunte la siguiente acción, que reinicia la película en el fotograma 1:

Go to and play (1)

Al cargarse el fotograma especificado en la sentencia If Frame is Loaded, la película omite el segundo fotograma y continúa reproduciéndose a partir del tercero

La sentencia If Frame is Loaded es también útil para secciones de películas que requieren la carga de un mapa de bits o de un archivo de sonido de gran tamaño Por lo general, If Frame Is Loaded es una condición para una acción de fotograma, pero también puede utilizarse para una acción de botón Para probar una condición If Frame Is Loaded, utilice la opción Flujo con el comando Probar película Los fotogramas se cargan igual que si fluyesen de un sitio Web Consulte "Comprobación del rendimiento de descarga de películas" a pagina 215 La sentencia If Frame Is Loaded tiene los siguientes parámetros:

• Fotograma especifica el número de fotograma del rótulo de fotograma que se desea cargar en el sistema local antes de ejecutarse la siguiente sentencia

• Escena es la escena que contiene el fotograma especificado

Carga y descarga de películas adicionales

Utilice las sentencias Load Movie y Unload Movie para reproducir otras películas sin cerrar el Reproductor Flash Por lo general, el Reproductor Flash muestra una sola película (archivo SWF) Load Movie permite visualizar varias películas al mismo tiempo o cambiar entre películas sin cargar otro documento HTML Unload Movie suprime la película previamente cargada mediante Load Movie Por ejemplo, puede utilizar Load Movie para realizar lo siguiente:

• Reproducir una secuencia de titulares publicitarios que son archivos SWF colocando una sentencia Load Movie al final de cada archivo SWF para cargar la película siguiente

• Desarrollar una interfaz de bifurcación donde el usuario pueda elegir entre distintos archivos SWF

• Crear una interfaz de navegación en la que el nivel 0 tenga controles de navegación que carguen otros niveles La carga de niveles permite transiciones más suaves que la carga de nuevas páginas HTML en un navegador Las sentencias Load Movie y Unload Movie tienen los siguientes parámetros:

• Acción identifica si cargar o descargar una película, o bien cargar variables (procedentes de un archivo de texto remoto) en una película activa Para obtener más información, consulte "Obtención de variables de archivos remotos" a pagina 174

• URL especifica un URL absoluto o relativo para el archivo SWF que se debe cargar Para utilizarlos en el Reproductor Flash o para realizar pruebas en Flash, todos los archivos SWF tienen que guardarse en la misma carpeta y enumerarse como nombres de archivo sin especificaciones de carpeta ni unidad de disco

• Ubicación especifica un nivel o destino para la sentencia Load Movie o Unload Movie En el Reproductor Flash, los archivos de películas llevan un número asignado de acuerdo con el orden en que se cargaron La película cargada en primer lugar se carga en el nivel inferior, es decir, el nivel 0 La película del nivel 0 establece la velocidad de los fotogramas, el color de fondo y el tamaño de los fotogramas de todas las demás películas cargadas Éstas se "apilan"

entonces en niveles superiores al de la película del nivel 0 Para obtener más información, consulte "Significado de varias líneas de tiempo" a pagina 176

De forma selectiva, es posible cargar películas en los niveles que ya tienen archivos SWF cargados Al hacerlo, la nueva película sustituye al archivo SWF existente Si utiliza Load Variables, la película activa no se sustituye, pero las variables se actualizan con los nuevos valores Si carga una nueva película en el nivel 0, todos los demás niveles se descargan y la película del nivel 0 se sustituye por el nuevo archivo

• Destino especifica un clip de película que se desea sustituir por la película cargada Si utiliza Destino, la película que carga hereda las propiedades de posición, rotación y escala del clip de película de destino Consulte también "Control de otras películas y clips de película" a pagina 176

• Variables permite especificar el envío de un juego de las variables de la película cargada a la ubicación identificada en el campo URL Esto sirve para enviar variables a un script CGI que genera un archivo SWF como su salida CGI Variables determina la utilización de GET o POST al descargar el contenido del URL, o el no pasar variables Consulte "Establecimiento e identificación de variables" a pagina 182 para obtener más información sobre variables en Flash

Las sentencias Load Movie y Unload Movie no funcionan en el modo de edición Utilice Control > Probar película para comprobar si funcionan Para probar esta sentencia, la película en proceso de carga debe encontrarse en la ruta de acceso especificada Si la ruta de acceso es un URL absoluto, utilice la opción Archivo > Previsualización de publicación (debe existir una conexión a la red, que tiene que estar activa) para probar la película

Obtención de variables de archivos remotos

Utilice la sentencia Load Variables, que es uno de los parámetros de Load Movie, para leer datos procedentes de un archivo de texto o texto generado por un script CGI, y defina los valores para las variables de una película o clip de película Por ejemplo, si un usuario envía un formulario de pedido, puede que desee una pantalla de confirmación para visualizar un número de pedido recogido de un archivo de un servidor remoto

Con Load Variables, el texto contenido en el URL debe encontrarse en la aplicación de formato MIME estándar/x-www-codificado en formato URL (un formato estándar que se utiliza en los script CGI) Es posible especificar cualquier número de variables Por ejemplo, la siguiente frase define varias variables:

empresa=Macromedia&dirección=600+Townsend&ciudad=San+Francisco&zip=94103

• URL especifica un URL absoluto o relativo para el archivo remoto

• Ubicación especifica un nivel o destino para recibir las variables En el Reproductor Flash, los archivos de película tienen asignado un número deacuerdo con el orden en que se cargaron La película cargada en primer lugar se carga en el nivel inferior, es decir, el nivel 0 La película del nivel 0 establece la velocidad de los fotogramas, el color de fondo y el tamaño de los fotogramas de todas las demás películas cargadas Éstas se apilan entonces en niveles de

número superior al de la película del nivel 0 Para obtener más información sobre niveles y destinos, consulte "Significado de varias líneas de tiempo" a pagina 176

• Las variables determinan la utilización de GET o POST para pasar variables o no pasarlas Esto sirve para enviar variables a un script CGI que genera un archivo SWF como su salida CGI El método GET adjunta las variables al final del URL y se utiliza cuando son pocas las variables implicadas El método POST envía las variables en un encabezado separado y es capaz de enviar cadenas mucho más largas Consulte "Establecimiento e identificación de variables" a pagina 182

Si especifica GET o POST con la sentencia Load Variables, Flash envía las variables al servidor Web y, a continuación, interpreta la respuesta del servidor para actualizar las variables de la película Utilice la opción Archivo > Previsualización de publicación para probar la carga de las variables (debe existir una conexión activa a la red para que funcione)

Envío de mensajes al programa anfitrión de la película

Utilice la sentencia FS Command para enviar un mensaje a cualquier programa anfitrión del reproductor Flash Si no está familiarizado con JavaScript o la creación de proyectores, no es probable que necesite utilizar FS Command FS Command tiene dos parámetros: Comando y Argumentos Introduzca la cadena que desea enviar en el cuadro Comando Si la cadena requiere argumentos, introdúzcalos en el cuadro Argumentos Los cuadros Comando y Argumentos permiten utilizar un valor literal o una expresión En un navegador Web, una sentencia FS Command ejecuta la función de JavaScript moviename_DoFSCommand en la página HTML que incorpora la película Flash, donde moviename es el nombre del reproductor Flash asignado por el atributo NAME de la etiqueta EMBED u OBJECT Si el reproductor Flash tiene asignado el nombre elFilm, la función de JavaScript que se ejecuta es elFilm_DoFSCommand La función de JavaScript se pasa a los parámetros de Comando y Argumentos, que pueden utilizarse para cualquier fin Por ejemplo, para utilizar la sentencia FS Command para abrir un cuadro de mensajes de una película Flash en la página HTML a través de Javascript:

1 En la página HTML que incorpora la película Flash, añada el siguiente código de Javascript:

function elFilm_DoFSCommand(comando, args) {if (comando == "cuadro de mensajes") {

alert(args);}}

2 En la película Flash, añada la sentencia FS Command siempre que desee abrir un cuadro de mensajes:

FS Command ("cuadro de mensajes", "Este es un cuadro de mensajes ejecutado desde Flash")

También puede utilizar expresiones para la sentencia y los argumentos de FS Command, como en el siguiente ejemplo:

FS Command ("cuadro de mensajes", "Hola, " & nombre & ", bienvenido a nuestro sitio Web")

Puede configurar la página HTML para que admita esto mediante la creación de su propia plantilla y la utilización de los comandos Publicar y Previsualizar Consulte "Configuración de publicación Flash" a pagina 218

En Director, la sentencia FS Command puede enviar mensajes que Lingo interpreta como eventos Debe escribir el código de Lingo para recibir los mensajes de FS Command y llevar a cabo una acción en Director

En Visual Basic, Visual C++ y otros programas que pueden hacer de anfitrión de controles ActiveX,

FS Command envía un VB Event con dos cadenas que pueden manejarse en el lenguaje de programación del entorno

Las siguientes sentencias FS Command especiales controlan una película que se reproduce como un proyector:

Control de otras películas y clips de película

Utilice la sentencia Tell Target para controlar un clip de película diferente u otra película cargada con la sentencia Load Movie

La sentencia Tell Target es útil para controles de navegación Asigne la sentencia Tell Target a botones que detengan o inicien clips de película en cualquier lugar del escenario También puede hacer que los clips de película vayan a un fotograma concreto de dicho clip

La sentencia Tell Target contiene el parámetro único Destino, que especifica la línea de tiempo que debe controlarse Todas las sentencias anidadas en las sentencias Begin Tell Target y End Tell Target están dirigidas en la línea de tiempo apuntada

Significado de varias líneas de tiempo

Al reproducirse una película en el Reproductor Flash, es posible que aparezcan varias líneas de tiempo Cada película Flash tiene una línea de tiempo principal Cada instancia de clip de película contenida en una película representa otra línea de tiempo Es posible que aparezcan otras líneas de tiempo al cargar películas con la sentencia Load Movie

Por ejemplo, el siguiente esquema muestra siete líneas de tiempo en el Reproductor Flash:

PelículaXswf (en el nivel 0)

ClipA (nombre de instancia: Juan)

ClipA1 (nombre de instancia: Berta)

ClipA2 (nombre de instancia: Edurne)

ClipB (nombre de instancia: Jose)

PelículaYswf (en el nivel 1)

ClipC (nombre de instancia: Sola)

Cada línea de tiempo se ejecuta de forma independiente y puede controlar cualquiera de las otras líneas de tiempo Por ejemplo, un botón de la línea de tiempo principal de PelículaX puede iniciar y detener el ClipC de la PelículaY De igual manera, una acción de fotograma en el ClipC puede hacer que el cabezal de lectura de PelículaX salte a otra escena o fotograma

Especificación de destinos

El Editor de expresión contiene el botón Destino para insertar nombres de destino En algunas situaciones, una vez que se hace clic en el botón Destino, el área situada por encima del campo Destino muestra clips de película que pueden apuntarse Si este es el caso y uno de estos clips de película debe apuntarse, haga doble clic en el nombre del clip de película La información correcta se introduce de forma automática en el campo Destino En otros casos, la línea de tiempo que se desea apuntar no aparecerá en la ventana y la ruta de acceso tendrá que introducirse de forma manual De forma similar a la jerarquía de archivos y carpetas en un servidor Web, Flash tiene una jerarquía de líneas de tiempo Para especificar destinos en distintos niveles de la jerarquía, añada una ruta de acceso al nombre de instancia de destino mediante el mismo sistema que con las rutas de acceso para archivos o URL Las películas (archivos SWF) se encuentran en la parte superior de la jerarquía con los clips de película debajo de ellas La sintaxis para identificar destinos es similar a la que se utiliza para las carpetas de un sistema de archivos Por ejemplo, una "/" al principio identifica un clip de película en la raíz de la capa actual Los destinos sin la "/" se identifican como relativos respecto al clip de película actual Las siguientes rutas de acceso de Tell Target utilizan el ejemplo de las siete líneas de tiempo de la sección anterior:

• /Juan apunta al clip de película denominado ClipA desde la línea de tiempo principal de PelículaX

• / apunta a la línea de tiempo de PelículaX desde el clip de película denominado ClipA

• /Juan/Berta apunta al clip de película ClipA1 desde cualquier otro clip de película

• Berta apunta al clip de película ClipA1 desde la línea de tiempo del clip de película ClipA

• /Edurne apunta al clip de película ClipA2 desde la línea de tiempo de ClipA1

• _level1/Sola apunta al clip de película ClipC de la PelículaY desde cualquier otro clip de película

• Un nombre de campo de destino en blanco apunta a la línea de tiempo actual

El mismo clip de película puede apuntarse mediante variaciones más detalladas de la ruta de acceso Por ejemplo, /Juan apunta al clip de película denominado ClipA desde la línea de tiempo principal de PelículaX; lo mismo hace _level0/Juan que solamente incluye más información Una ruta de acceso más detallada puede ser útil al copiar botones con sentencias Tell Target de una película a la siguiente, También puede utilizar una expresión para especificar un destino Por ejemplo, la expresión "/"&Nombrebotón en el panel de parámetros hace que Tell Target envíe un mensaje al clip de película contenido en la variable Nombrebotón

Para que una línea de tiempo pueda apuntarse debe encontrarse en el Reproductor Flash En el Reproductor aparece una línea de tiempo de clip de película cuando el cabezal de reproducción se coloca dentro de los fotogramas del clip de película Por ejemplo, si un clip de película se coloca en la línea de tiempo de los fotogramas 1 al 20, el clip de película puede apuntarse mientras la película se reproduce o detiene en cualquier fotograma comprendido entre el 1 y el 20 Cuando la película alcanza el fotograma 21, el clip de película desaparece del

Reproductor y no puede apuntarse como destino Consulte "Comprobación de carga de fotogramas" a pagina 171 para configurar una sentencia para comprobar un fotograma antes de ejecutar la sentencia Tell Target El siguiente ejemplo de acción es para un botón de la línea de tiempo principal que, al presionarse, detiene la reproducción de la instancia de clip de película Juan Al soltarse el botón, la acción comienza en el fotograma 55 de la instancia de clip

de película Berta:

On (Press)

Begin Tell Target ("/Juan")

Stop

End Tell Target

End On

On (Release)

Begin Tell Target ("/Juan/Berta")

Go to and Play (55)

End Tell Target

Go to Next Frame

End On

Duplicado y supresión de clips de película

Utilice la sentencia Duplicate Movie Clip para crear una instancia de un clip de película durante la reproducción de la película Al duplicarse un clip de película, el nuevo clip de película comienza en el fotograma 1 aun cuando el clip de película original se encontrase en otro fotograma al duplicarse Utilice la sentencia Remove Movie Clip para suprimir una instancia de clip de película creada con Duplicate Movie Clip Duplicate/Remove Movie Clip tiene los siguientes parámetros:

• Acción establece la sentencia para duplicar o suprimir el clip de película

• Destino especifica el clip de película que debe duplicarse o suprimirse Haga clic en el botón con rótulo "abc" y elija Target Editor para especificar un destino de forma visual, o introduzca la ruta de destino en el campo Consulte "Especificación de destinos" a pagina 177

• Nombre nuevo es el nombre de instancia del clip de película duplicado Proporcione sólo el nombre, no la ruta de destino A continuación, una vez con nombre, la instancia puede apuntarse desde otra acción

• Profundidad determina la forma en que el clip de película duplicado aparece al solapar otros objetos Piense en relación a los niveles de profundidad en términos de orden de apilamiento con el nivel 0 como nivel inicial Cada clip de película duplicado necesita la asignación de una profundidad porque, de lo contrario, cada duplicado reemplazará al clip anterior en el nivel 0 Los clips de película duplicados se colocan siempre sobre el clip de película original

• La supresión del clip de película duplicado cambia la sentencia a Remove Movie Clip Los clips de película duplicados no desaparecen a menos que el clip de película padre desaparezca o bien se utilice la sentencia Remove Movie Clip

Nota: Las variables no se copian en el nuevo clip de película y el clip de película duplicado

comienza en el primer fotograma

Posibilidad de arrastre de clips de película

Utilice la sentencia Drag Movie Clip para mover un clip de película durante la reproducción de la película La sentencia puede establecerse para comenzar o detener una operación de arrastre Un clip de película puede arrastrarse hasta que Stop Drag lo detiene de forma explícita o hasta que otro clip de película se convierte en arrastrable Sólo un clip de película puede arrastrarse al mismo tiempo Drag Movie Clip tiene los siguientes parámetros:

• Iniciar operación de arrastre comienza el arrastre del clip de película

• Destino especifica el clip de película que debe arrastrarse Haga clic en el botón con rótulo "abc" y elija Target Editor para especificar un destino de forma visual, o introduzca la ruta de destino en el campo Consulte "Especificación de destinos" a pagina 177

• Restringir a rectángulo permite especificar un área rectangular fuera de la que el clip de película no se puede mover Los valores izquierda, superior, derecha e inferior son relativos respecto a las coordenadas del padre del clip de película

• Bloquear ratón al centro hace que el centro del clip de película aparezca directamente por debajo del puntero del ratón a medida que el usuario mueve el puntero Cuando esta opción no está seleccionada, el clip de película mantiene la posición relativa al puntero cuando se inició la operación de arrastre Por ejemplo, la siguiente acción limita el clip de película denominado target_item dentro de un cuadro de 200 x 200 píxeles (desplazamiento respecto a las coordenadas especificadas): On (Press, Release, Outside)

Start Drag ("tubo_rojo", L=100, T=100, R=300, B=300, lockcenter) End On

Arrastre y colocación de clips de películas

Para un clip de película que el usuario pueda colocar en cualquier ubicación, utilice las sentencias Start Drag y Stop Drag de la siguiente manera:

On (Press)

Start Drag ("película")

End On

On (Release)

Stop Drag

End On

Para crear comportamientos de arrastre y colocación más complicados, puede probar la propiedad _droptarget del clip de película en curso de arrastre Por ejemplo, puede examinar la propiedad _droptarget para ver si la película se arrastró a un clip de película específico (como un clip de película tipo "papelera") y, a continuación, desencadenar otra acción Consulte "Creación de acciones condicionales" a pagina 183 y "Escritura de expresiones" a pagina 187

Cambio de posición y aspecto de clips de película

Utilice la sentencia Set Property para modificar la posición, la escala, la transparencia, la visibilidad y la rotación de un clip de película a medida que la película se reproduce

Set Property tiene los siguientes parámetros:

• Establecer especifica la propiedad que debe modificarse X Position y Y Position establecen la posición horizontal y vertical del clip de película, respectivamente La posición es relativa respecto a las coordenadas locales del clip de película padre X Scale y Y Scale ajustan la escala del clip de película en horizontal y vertical, respectivamente Los valores de la propiedad son porcentajes; el valor predeterminado es 100 Alpha especifica la transparencia del clip de película Los valores varían de 0 (totalmente transparente) a 100 (totalmente opaco) Los objetos de un clip de película con Alfa establecido en 0 están activos, aun cuando no estén visibles Por ejemplo, en un botón de un clip de película con la propiedad Alfa establecida en 0 aún puede hacerse clic Visibility especifica si el clip de película es visible Los valores de esta propiedad son True (visible) o False (no visible) El clip de película es visible si el valor es cualquiera distinto de cero; es invisible cuando el valor es cero Los objetos de un clip de película con Visibility establecida en False están deshabilitados Por ejemplo, no es posible hacer clic en un botón de un clip de película con la propiedad Visibility establecida en False Rotation especifica la rotación de un clip de película El valor se especifica en grados

• Destino especifica el clip de película cuya propiedad se desea establecer Haga clic en el botón con rótulo "abc" y elija Target Editor para especificar un destino de forma visual o introduzca la ruta de destino en el campo Consulte "Especificación de destinos" a pagina 177

• Valor especifica el valor que debe asignarse a la propiedad Por ejemplo, esta sentencia establece la propiedad Y Position de un clip de película denominado target_itemen 150:

On (Release) Set Property ("tubo_rojo", Y Position) = 150 End OnComentarios sobre acciones

Utilice la sentencia Comment para añadir notas a una acción de botón o fotograma que le faciliten el seguimiento de una acción o parte de una acción que debe realizarse Los comentarios son útiles para pasar información a otros desarrolladores cuando se trabaja en un entorno de colaboración o se proporcionan ejemplos

Establecimiento e identificación de variables

Una variable es un contenedor de información El contenedor en sí es siempre el mismo, pero el contenido puede cambiar La modificación del valor de una variable a medida que la película se reproduce permite registrar y guardar información sobre las acciones del usuario, registrar valores que se modifican conforme la película se reproduce o evaluar si determinada condición es verdadera o falsa

Las variables pueden contener números o cadenas de caracteres La información más común que puede guardarse en una variable incluye un URL, un nombre de usuario, el resultado de una operación matemática, el número de veces que ocurre algo o si se ha hecho clic en un botón Cada película y clip de película tiene su propio juego de variables, cada una de ellas con su propio valor independiente de otras variables en otras películas o clips de película Las variables de Flash no tienen que definirse de forma explícita como contenedoras de un número o una cadena El programa interpreta de forma adecuada si el tipo de datos es un número entero o una cadena Consulte también "Emulación de matrices" a pagina 186

Asignación de valores a variables

Utilice la sentencia Set Variable para asignar un valor a una variable Si una variable no existe en la película o en un clip de película, Flash la crea la primera vez que se le asigna un valor

Set Variable tiene los siguientes parámetros:

• El campo Variable especifica el nombre de la variable Acostúmbrese a utilizar nombres que indiquen lo que representa la variable Por ejemplo, el nombre de variable contraseña indica que la variable contiene una contraseña

• El campo Valor especifica el valor que se asigna a la variablePara modificar el contenido de una variable puede utilizar operaciones numéricas y operadores de cadenas Por ejemplo, esta sentencia modifica el valor existente de la variable Sumatotal mediante la suma de 3 a su valor actual: Set Variable: "Sumatotal" = Sumatotal + 3

Identificación de variables en películas o clips de película específicos

Para identificar una variable en una película o un clip de película específico, anteponga al nombre de la variable la ruta de acceso a la película o clip de película Utilice dos puntos para separar la ruta del nombre de variable Por ejemplo, esta frase especifica la variable Cronómetro en el clip de película Explosión:

/Explosión:Cronómetro

Creación de acciones condicionales

Utilice la sentencia If para configurar sentencias que se ejecuten sólo cuando exista una condición determinada Por ejemplo, puede comprobar el valor introducido por un usuario en un campo de texto y visualizar un mensaje si el valor es demasiado alto o demasiado bajo Para utilizar la sentencia If de forma eficaz, debe estar familiarizado con la creación de expresiones que evalúan condiciones Consulte "Escritura de expresiones" a pagina 187

Para cada sentencia If, la sentencia End If marca el final de las sentencias que se ejecutan si la condición sigue siendo verdadera Si desea que una acción responda a una de las distintas posibilidades, utilice una serie de sentencias If Una sentencia If puede contener también una sentencia Else que designa una serie alternativa de sentencias que deben ejecutarse si la condición es falsa (cero)

Las sentencias contenidas en las sentencias If y End if aparecen sangradas Las sentencias sangradas sólo se ejecutan si la condición es verdadera En caso contrario, Flash desestima las sentencias sangradas Para cada sentencia Else, seleccione la sentencia If original y, a continuación, haga clic en el botón "Añadir cláusula Else/Else if " Cada clic añade otra cláusula Else Para establecer la cláusula Else if, seleccione una cláusula individual Else y haga clic

en el botón de radio Else if del panel de parámetros Por ejemplo, la siguiente acción utiliza If con Else if y Else para dirigir a distintos usuarios a diferentes escenas de una película Si el nombre de variable no coincide con ninguno de los nombres mencionados, comienza una escena de bienvenida estándar:

If (nombre eq "Gala")

Go to and Play ("El mundo de Gala", 1)

Else if (nombre eq "David")

Go to and Play ("El mundo de David", 1)

Else if (nombre eq "Pedro")

Go to and Play ("El mundo de Pedro", 1)

Else

Go to and Play ("Bienvenido", 1)

End If

Enlace de acciones

Utilice la sentencia Loop para configurar una serie de sentencias que se ejecuten de forma repetida mientras una condición específica siga siendo verdadera Un uso común de enlace consiste en utilizar una variable como contador y llevar a cabo una acción mientras el contador se mantiene por debajo de un valor especificado Al final de cada bucle, el contador se incrementa Para utilizar la sentencia Loop de forma eficaz, debe estar familiarizado con la creación de expresiones que evalúan condiciones Consulte "Escritura de expresiones" a pagina 187

Para cada sentencia Loop, una sentencia End Loop marca el final de las sentencias que se ejecutan mientras la condición se mantiene vigente Al alcanzar la sentencia End Loop, Flash comienza el bucle mediante la prueba de la condición Si la condición es falsa o igual a cero, Flash omite la primera sentencia que sigue a End Loop

Por ejemplo, las siguientes sentencias conforman un bucle de ejemplo que se ejecuta diez veces Cada vez que el bucle se ejecuta, la variable Índice se incrementa en 1 Cuando Índice es igual a 11, la expresión Índice <= 10 es falsa, por lo que Flash omite pasar el bucle a las sentencias subsiguientes Set Variable: "Índice" = 1

Loop While (Índice <= 10)

Set Property ("tubo_rojo", Y position) = 150

Set Variable: "Índice" = Índice +1

End Loop

La pantalla no se actualiza hasta finalizar el bucle

Reutilización de acciones

Es posible que desee que varios botones o fotogramas utilicen la misma acción En vez de copiar y pegar todas las sentencias entre los botones y los fotogramas, asigne la acción a un fotograma diferente y, a continuación, utilice la sentencia Call para ejecutar dicha acción Especifique el fotograma que debe llamarse mediante una de las posibilidades que identifican fotogramas en la sentencia Go To (consulte "Salto a fotogramas o escenas" a pagina 169) Si el fotograma no puede localizarse debido a un error de denominación o porque no ha fluido al ordenador local, Flash desestima la sentencia Call Puede utilizar la propiedad _framesloaded para comprobar si un fotograma está disponible

Una vez que la acción de fotograma especificada se ejecuta, el control vuelve a la acción que emitió la sentencia Call

Para crear una biblioteca de acciones, cree una película y asigne cada acción a un fotograma individual de la línea de tiempo Rotule cada fotograma con el nombre de script para facilitar su llamada Flash no proporciona ninguna forma especial de pasar o devolver valores al utilizar la sentencia Call De hecho, el contexto se conmuta al clip de película llamado, incluidas las variables conocidas Para pasar valores a otro clip de película, páselos en variables de Flash De manera similar, el clip de película apuntado tiene que guardar todos los valores de devolución en variables Básicamente, las sentencias Set Variable separadas deben utilizarse en conjunción con la sentencia Call para pasar o devolver valores

Por ejemplo, la siguiente sentencia establece las variables de Base de datos antes de ejecutar la acción AddDatabaseRecord:

Set Variable: "/Base de datos:Nombre" = "Franz Schubert"

Set Variable: "/Base de datos:Profesión" = "Músico"

Call ("/Base de datos:AddDatabaseRecord")

If (/Base de datos:Resultado eq "OK")

Go to And Stop ("OK")

Else

Go To And Stop ("Error")

End If

Tipos de valores

En Flash, los valores pueden ser números o cadenas Estos valores pueden ser literales ("auto") o representarse mediante expresiones (Substring (automóvil, 1, 4)) La creación de guiones (scripts) de acciones no es un lenguaje de "tipos": un tipo de variable (cadena, entero, etc) depende del tipo de valores asignado a la variable

Verdadero y falso/distinto de cero y cero

Los términos True y False indican si una condición existe: el término False indica que una condición no existe Flash utiliza también el número 0 como equivalente numérico de False Flash trata cualquier número distinto de cero como verdadero

Cadenas

Flash trata todos los caracteres entre comillas como cadenas en vez de variables

Obtención de valores de propiedad

El método para obtener un valor de propiedad depende del contexto de la propiedad en relación al clip de película actual Por ejemplo, el uso de la sentencia ( _x) en el clip de película actual devuelve la posición x del clip de película actual Para la propiedad de otro clip de película, utilice una ruta de acceso para apuntar al clip de película Por ejemplo, el nombre de destino y la propiedad /Foo: _x devuelve x del clip de película Foo como un valor

Uso de GetProperty

Cuando el destino es una expresión, utilice la sentencia GetProperty() para devolver el valor de una propiedad de clip de película Por ejemplo, para devolver la posición x de cada nave espacial de un videojuego con muchas naves espaciales, cada una en un clip de película numerada de forma secuencial (/nave_1, /nave_2, ), utilice la sentencia:

GetProperty("/nave_"&Númeronave, _x)

Emulación de matrices

Flash puede crear nombres de variable de forma dinámica debido a que la asignación de variables y las operaciones de recuperación pueden evaluar una expresión para obtener el nombre de variable Esto permite emular matrices, diccionarios y otras estructuras de datos Por ejemplo, una matriz de 10 elementos podría emularse mediante diez variables con los nombres

A_1

A_2

A_10

Por ejemplo, la matriz:

Set Variable "nombre" & númeronombre = nuevo nombre

Set Variable "númeronombre" = númeronombre + 1

crea la siguiente matriz:

nombre1 -> Gala

nombre2 -> otro nombre

nombre3 -> otra persona

númeronombre -> 3

Para buscar un nombre particular, puede utilizar la siguiente acción:

Set Variable "índice" = 1

Set Variable "localizado" = false

Loop While (índice <= númeronombre y no localizado)

If (Eval("nombre" & índice) eq nombrequelocalizar)

Set Variable "localizado" = true

Else

Set Variable "índice" = índice + 1

End If

End Loop

En esta acción, cuando localizado es verdadero, índice contiene el índice de matriz

del nombre localizado

También puede emular una matriz bidimensional, como la siguiente:

A_1_1

A_2_1

A_3_3

Obtención del valor de una variable denominada de forma dinámica

Utilice la función eval para obtener el valor de una variable denominada mediante una expresión Por ejemplo, la expresión eval("Nombre") es idéntica a la expresión Nombre

Si se especifica el nombre como una expresión, el nombre de la variable que debe obtenerse puede decidirse mientras la película Flash se reproduce

Por ejemplo, la sentencia eval("Nombre"&Índice) le permite manejar 10 nombres, donde Índice es una variable que contiene un número del 1 al 10 Esta expresión obtiene una de las variables Nombre1, Nombre2, Nombre3 en función del valor de Índice En un bucle, Índice puede actualizarse en cada interacción para obtener los 10 nombres

Comprobación de valores de variables y propiedades

Como la creación de guiones de acciones no es un lenguaje de tipos, es posible que las variables se asignen de forma equivocada como números enteros o cadenas Si un entero se introduce para una variable de cadena, Flash asigna un valor "true" al entero Si una cadena se introduce para una variable de valor entero, Flash asigna un numero equivalente a la longitud de la cadena (Por ejemplo, la introducción de Nombre devuelve 6)

Escritura de expresiones

Una expresión es cualquier frase cuyo valor numérico puede calcular Flash

Flash tiene tres tipos de expresiones: expresiones de cadenas, expresiones numéricas y expresiones de comparación

Las expresiones se crean mediante la combinación de operadores y valores Que el valor inicial de la expresión sea una cadena o un número depende del tipo de parámetro predeterminado Por ejemplo, la opción Rótulo del parámetro Fotograma de la sentencia Go To es una cadena, por lo que una expresión que especifica dicho parámetro es, de forma predeterminada, una cadena

Uso del Editor de expresión

El Editor de expresión que le ayuda a formular el contenido exacto de determinados parámetros de sentencias puede abrirse desde la ficha Acciones En algunos parámetros, el campo de parámetro tiene un botón "abc" que indica que la sentencia espera un valor literal Basta con introducir el valor literal en el campo En otros parámetros, Flash muestra el botón "=" que indica que se espera una expresión Si necesita crear una expresión, haga clic en el botón situado junto al campo y elija Editor de expresión

Haga doble clic en los operadores y las funciones que desee utilizar Algunas funciones contienen información genérica que es necesario sustituir por los detalles adecuados para la sentencia Por ejemplo, para extraer el valor de la coordenada x de una posición de clip de película:

1 Haga doble clic en la opción GetProperty de Propiedades hasta que aparezca en el cuadro de texto situado en la parte superior del cuadro de diálogo

2 Resalte el término genérico "destino" y haga clic en Destino

3 Seleccione el clip de película deseado en la lista Si el clip de película de destino no aparece en la lista, escriba el nombre del mismo en el campo Destino y haga clic en Aceptar

4 Seleccione el término genérico "propiedad" y haga doble clic en el elemento del menú Propiedades _x que hace referencia a la posición X

5 Haga clic en Aceptar en el Editor de expresión

Cuando no se introduce información suficiente o se utiliza una sintaxis inapropiada, el Editor de expresión muestra un mensaje de advertencia Si todo es correcto, la nueva expresión aparece en la sentencia

Expresiones numéricas

Las expresiones numéricas calculan números Pueden combinar números, variables que contienen números y operadores tales como +, -, =, operadores lógicos y operadores de comparación El ejemplo siguiente es una expresión numérica sencilla:

1+2

La siguiente sentencia utiliza la expresión Rayas + 1, que combina números y variables:

Set Variable: "Rayas" = Rayas +1

La sentencia añade 1 al valor actual de la variable Rayas

Expresiones de cadenas

Una expresión de cadenas concatena dos o más cadenas para crear una nueva cadena Los operandos pueden ser variables, cadenas literales entre comillas dobles o funciones que devuelven cadenas Por ejemplo, la expresión de cadenas "Hola, " & "mundo" concatena las cadenas "Hola, "y "mundo" El resultado es "Hola, mundo" Utilice la función Substring para extraer parte de una cadena Al utilizarse Substring, el primer parámetro es la cadena El segundo parámetro, el índice, es el número del primer carácter que debe extraerse El tercer parámetro es el número de caracteres que hay que incluir a continuación del índice Por ejemplo, Substring("Hola", 4, 2) devuelve "la" Si se omite el tercer parámetro, se devuelve toda

la cadena, desde el índice hasta el final de la misma Los números utilizados en expresiones de cadenas se convierten automáticamente en cadenas cuando se utilizan con operadores de cadenas Por ejemplo, "valor_"&(índice+1) calcula la expresión numérica índice+1, tras lo que el número resultante se concatena al final de la cadena valor_

Operadores aritméticos

Los operadores de Flash siguen principios matemáticos básicos La multiplicación y la división se producen antes que la suma y la substracción Los términos entre paréntesis se producen antes que la multiplicación y la división El intento de dividir por cero da como resultado la cadena #ERROR#

A continuación se incluyen algunos ejemplos de expresiones aritméticas:

(1+2)*3

Principal*Tasa*Tiempo

Subtotal*(1+(Tasa impuesto sobre ventas/100))

-Valor (valor negativo de la variable Valor)

+Valor (deja el valor invariable)

Puede utilizar las funciones Int(), Length() y Random() en las expresiones aritméticas porque dichas funciones devuelven números

Int(número) devuelve el valor entero de un número específico Por ejemplo, INT(125) devuelve 12

Length(cadena) devuelve la longitud de la cadena especificada Por ejemplo,

Length("Hola") devuelve 4

Random(número) devuelve un valor aleatorio entero del rango 0 al valor especificado

por el número menos 1 Por ejemplo, Random(4) devuelve 0, 1, 2 o 3

Si utiliza una cadena en una expresión Flash, se convierte en números al utilizarse con operadores numéricos Por ejemplo, "1"+2 se calcula como 3 Si la cadena no puede convertirse en un número, se calcula como cero Por ejemplo, en la expresión "ABC"+3, ABC se evalúa como cero El resultado es 0+3, que es 3

Operadores de cadenas

Flash trata cualquier secuencia de caracteres entre comillas como una cadena literal Las siguientes operaciones son útiles para manipular cadenas y especificar contenidos de cadenas Por ejemplo, la siguiente sentencia utiliza el operador de comparación de cadenas eq para probar si el nombre de variable contiene la cadena Homero:

nombre eq "Homero"

Operadores de comparación

Las expresiones de comparación comparan dos expresiones entre sí Por lo general se utilizan para sentencias If y sentencias Loop Por ejemplo, la sentencia Año = 2000 prueba si el valor de la variable Año es 2000 La sentencia Edad >= 18 prueba si la variable Edad es mayor que o igual a 18

Expresiones lógicas

Por lo general, las expresiones lógicas se utilizan, como las expresiones de comparación, para sentencias If y sentencias Loop

Por ejemplo, la sentencia Índice <= 10 y Hecho = 0 prueba si la variable Índice es menor que o igual a 10 y si la variable Hecho es igual a 0

La sentencia Númerolotería >= 6 y Númerolotería <= 49 prueba si la variable Númerolotería está comprendida entre 6 y 49

La sentencia Índice < 1 o Índice > 10 prueba si la variable Índice se encuentra fuera del rango 1 a 10

La sentencia not (Índice < 1 o Índice > 10) prueba si la variable Índice se encuentra en el rango 1 a 10

Medida del tiempo

Utilice GetTimer para devolver el número de milisegundos transcurridos desde el comienzo de la reproducción de la película Por ejemplo, en un fotograma, la sentencia Trace (Int(GetTimer / 1000) & "segundos transcurridos") crea un mensaje en una ventana de salida que muestra cada segundo según transcurre el tiempo

Conversión de caracteres de códigos ASCII

Flash puede convertir los números de códigos ASCII en caracteres y los caracteres en números de códigos ASCII La función Chr convierte los números de los códigos ASCII en caracteres Por

ejemplo, la función Chr (65) = "A" convierte el número 65 en la letra "A" La función Ord convierte los caracteres en números de códigos ASCII Por ejemplo, la función Ord(a) = 97 convierte la letra "a" en el número 97

Uso de propiedades

Las propiedades de los clips de película son esencialmente variables existentes para cada clip de película Puede establecer los valores de las propiedades para modificar el comportamiento de un clip de película o recuperar valores de propiedades para evaluarlos y comenzar sentencias basadas en los resultados El Editor de expresión contiene una lista completa de todos los parámetros disponibles La mayoría de los valores de las propiedades son específicos para clips de película individuales No obstante, algunas propiedades se aplican a toda la película y se denominan propiedades globales

Propiedades de clips de película

La mayoría de las propiedades de los clips de película son muy claras (por ejemplo, _width es la anchura del clip de película en píxeles) No obstante, es necesario clarificar las siguientes propiedades de clic de película:

• Las propiedades _x e _y se expresan en píxeles, con la esquina superior izquierda del escenario en (0, 0)

Las propiedades _x e _y se especifican en el sistema de coordenadas local del padre del clip de película Si un clip de película está en la línea de tiempo principal, su sistema de coordenadas hace referencia a la esquina superior izquierda del escenario como 0, 0

Si el clip de película se encuentra dentro de otro clip de película que tiene transformaciones, el clip de película está en el sistema de coordenadas local del clip de película que lo contiene Así, para un clip de película rotado 90 grados en sentido contrario a las agujas del reloj, el clip de película hijo hereda un sistema de coordenadas rotado 90 grados en sentido contrario a las agujas del reloj

Por ejemplo, supongamos que un clip A de película animada establece la propiedad _x de cada fotograma para animar un círculo que se mueve de izquierda a derecha Si coloca el clip A de película dentro del clip B de película, que está rotado 90 grados en sentido contrario a las agujas del reloj, el círculo del clip A de película se desplazará de abajo a arriba en vez de izquierda a derecha, aun cuando se haya establecido la propiedad _x La rotación del clip de película padre ha rotado el sistema de coordenadas del hijo

• Las coordenadas del clip de película hacen referencia a la posición del punto de registro Si Usar punto central está marcada en el cuadro de diálogo de propiedades de objeto, la posición del punto central es el punto de registro En caso contrario, la posición del punto central es la esquina superior izquierda del objeto

• _xscale e _yscale se miden en porcentajes con el valor predeterminado establecido en 100 La escala se aplica a partir del punto de registro del clip de película

La escala del sistema de coordenadas afecta al significado de las propiedades _x e _y En el nivel superior, las propiedades _x e _y son valores en píxeles enteros En el ejemplo de un círculo móvil, si el clip de película se escala al 50%, el establecimiento de la propiedad _x desplaza el círculo la mitad del número de píxeles que cuando la escala era 100%

• _rotation se establece en grados

• Las propiedades _x, _y, _rotation, _xscale e _yscale son todas acumulativas No sólo transforman el clip de película sino cualquier hijo que tenga el mismo Éstos se ven afectados por las transformaciones sufridas por el padre del clip de película

• _url es el URL donde reside el clip de película

• _visible puede establecerse en True (valor predeterminado) o False Si se establece en False, la película oculta la instancia de clip de película y no se somete a la prueba de "acierto" Las acciones de botón o de fotograma contenidas en dicho clip no funcionan

Propiedades de desplazamiento por los campos de texto

Si una escena contiene un campo de texto asociado a una variable, hay dos propiedades especiales asociadas a la visualización de dicho campo de texto:

Utilice la propiedad scroll para definir dónde comienza el campo de texto a mostrar su contenido Esta propiedad puede ser especialmente útil para dirigir a una audiencia a un párrafo específico de un largo pasaje Por ejemplo, en un campo de texto que tiene cuatro líneas de tamaño vertical e identificando la variable "discurso", que tiene nueve líneas, en vertical, entonces sólo puede mostrarse parte del discurso (identificada por el cuadro de contorno continuo):

Utilice la propiedad scroll para definir dónde comienza el campo de texto a mostrar su contenido Esta propiedad puede ser especialmente útil para dirigir a una audiencia a un párrafo específico de un largo pasaje Por ejemplo, en un campo de texto que tiene cuatro líneas de tamaño vertical e identificando la variable "discurso", que tiene nueve líneas, en vertical, entonces sólo puede mostrarse parte del discurso (identificada por el cuadro de contorno continuo):

discursoscroll es igual a 1 porque el campo de texto comienza a visualizarse en la primera línea

speechmaxscroll es igual a 6 porque, como la audiencia se desplaza hacia abajo para ver la última línea, la línea 6 es el límite más alto del campo de texto

Nota: Estas variables devuelven valores imprevisibles si más de un campo de texto muestra la misma variable al mismo tiempo (Esto puede ocurrir cuando la audiencia puede desplazarse por dos campos visualizando la misma variable al mismo tiempo)

Propiedades globales

Las propiedades globales influyen en toda la película, no sólo en clips de película específicos (El campo Destino está deshabilitado para estas propiedades debido a que no es posible especificar un nivel individual) Los valores de estas propiedades pueden leerse desde cualquier parte de la línea de tiempo principal

Solución de problemas de interactividad

El nivel de sofisticación de algunas acciones, especialmente cuando se combinan entre sí, puede crear también dificultades Pruebe los clips de película de forma regular y tenga presentes las siguientes sugerencias a la hora de resolver cualquier resultado no previsto:

• Trace muestra información en una ventana de salida Puede utilizar Trace para hacer aparecer notas sobre programación o resultados específicos al presionar un botón, o para que un fotograma se reproduzca durante la prueba de una película o escena Puede escribir expresiones en los parámetros de sentencia de trazado para comprobar si una condición existe o no y para hacer que la ventana de trazado muestre valores durante la prueba de una película

• Si una variable se adjunta a un fotograma que no se ha cargado, el valor de dicha variable es nulo

• Durante la prueba de una película o escena, utilice los comandos Control > Lista de objetos y Control > Lista de variables Para mayor facilidad en la lectura de acciones que tengan líneas largas o contengan muchas líneas, utilice el Inspector de objetos o el Inspector de fotogramas para visualizar todo el texto de la acción

12. Creación de elementos de interfaz

Acerca de la creación de elementos de interfaz

Utilice las funciones de interactividad de Flash para ensamblar los elementos comunes de la interfaz, como menús emergentes, listas desplegables y menús de comandos Dichos elementos son útiles para recopilar datos en formularios y para permitir al usuario interactuar con una película del mismo modo que con una aplicación independiente

Creación de formularios

Los formularios son un tipo avanzado de interactividad, una combinación de botones, películas y campos que permiten pasar información a otra aplicación situada en un servidor local o remoto Todos los elementos comunes de un formulario (como botones de radio, listas desplegables y casillas de verificación) pueden crearse como películas o botones con la misma apariencia y estilo del diseño global de su sitio Web

Los tipos de formulario más habituales que utilizan dichos elementos de interfaz incluyen cuestionarios, notas de pedidos e interfaces de búsqueda Por ejemplo, un formulario de Flash puede recoger y enviar datos de direcciones a otra aplicación que compila la información en un correo archivo de correo electrónico o de base de datos

Los formularios requieren dos componentes: los elementos de Flash que componen el formulario y una aplicación de servidor o un script del sistema cliente para procesar la información introducida por el usuario En los siguientes pasos se esboza el procedimiento general para la creación de elementos de formulario con Flash

Para crear un formulario:

1 Cree una biblioteca de elementos, como botones y casillas de verificación

2 Coloque en la película una combinación de campos de texto editable e instancias de símbolos en la disposición que desee

3 Asigne un nombre a las variables en el cuadro de diálogo Propiedades de cada campo de texto Utilice nombres de variables descriptivos y únicos

4 Asigne acciones de botón que envíen datos a un Reproductor Flash o a una aplicación situada en la Web a través de http

Creación de formularios que interactúan con un servidor Web

Utilice la sentencia Get URL para enviar variables a bases de datos, correos electrónicos u otras aplicaciones También puede utilizarse Get URL con mailto:nusuario@empresacom como parámetro del URL para enviar un mensaje electrónico directamente desde un navegador Use la sentencia Load Variables para recopilar información de los servidores Web Por ejemplo, con Load Variables puede recuperar desde un servidor remoto las variables para un clip de película y a continuación mostrarlas con la información actual de un servidor de noticias Ambas sentencias se describen con mayor detalle en "Salto a otros URL" a pagina 170 y "Obtención de variables de archivos remotos" a pagina 174

Uso de variables en formularios

Para obtener los mejores resultados, realice lo siguiente cuando utilice variables en formularios:

• Proporcione nombres de variables que indiquen con claridad lo que representa la variable Por ejemplo, en formularios múltiples que preguntan nombres de usuarios, nombres de elementos y nombres de ubicaciones, se aconseja utilizar nombres de variables que indiquen el contexto de los datos

• Asegúrese de que los nombres de variables corresponden a los nombres que espera recibir la aplicación o script que recibe las variables

• Utilice variables en la línea de tiempo o en clip de película para registrar y realizar un seguimiento de la información (también denominado estado de mantenimiento) Actúa como el equivalente del uso de un campo oculto en un formulario HTML para que los usuarios puedan restablecer un formulario

• Si tiene variables adjuntas a determinados fotogramas, utilice la propiedad _framesloaded o la sentencia If Frame is Loaded para asegurarse de que las variables se han identificado antes de enviarlas Consulte "Comprobación de carga de fotogramas" a pagina 171

• Evalúe las variables antes de enviarlas a un servidor Web Si una aplicación de servidor espera recibir un número en un determinado formato, asegúrese de que el usuario ha introducido los datos correctos Para obtener más información, consulte "Verificación de datos introducidos" a pagina 198

Creación de cuadros de diálogo

Un cuadro de diálogo es un formulario corto típico y proporciona una buena introducción a la creación de formularios En el siguiente ejemplo se proporcionan instrucciones para la creación de un cuadro de diálogo de búsqueda:

un campo de texto y un botón que utiliza la sentencia Get URL Al introducir la información necesaria, los usuarios pueden pasar una palabra clave a una herramienta de búsqueda situada en un servidor Web remoto Siga los pasos de "Creación de menús emergentes" a pagina 199 para convertir el cuadro de diálogo de la contraseña en un menú emergente

Para crear un cuadro de diálogo de búsqueda sencillo:

1 Cree un botón que pueda utilizar para enviar los datos introducidos No incluya texto sobre el botón Puede hacerlo en cada formulario para satisfacer las necesidades específicas de la instancia

2 Cree un rótulo, un campo de texto vacío y una instancia del botón en el escenario del siguiente modo:

3 Seleccione el campo de texto y elija Modificar > Campo de texto

4 Especifique el nombre de la variable (las herramientas de búsqueda individuales pueden requerir una variable específica Para más información contacte con el fabricante de la herramienta de búsqueda) Seleccione Dibujar borde y fondo e Incluir todos los contornos de fuentes Haga clic en Aceptar

5 En el escenario, seleccione el botón y elija Modificar > Instancia

6 Haga clic en la ficha Acciones Haga clic en el botón + (más) y elija Get URL en el menú emergente

7 En el panel de parámetros, defina las siguientes opciones:

• En URL, introduzca el URL de la herramienta de búsqueda

• En Ventana, seleccione _blank Se abre una ventana nueva con los resultados de la búsqueda

• En Variables, seleccione Send Using GET

8 En el escenario, cree un campo de texto sobre el botón con el texto que desee

9 Para ver el funcionamiento del formulario, elija Archivo > Previsualización de publicación > HTML

Contraseñas y e información segura

Flash se basa en las funciones de seguridad de los navegadores estándar y HTTP Si desea utilizar contraseñas seguras en Flash, es necesario establecer la autenticación de la contraseña mediante una solicitud a un servidor Web Flash ofrece la misma seguridad que en un HTML estándar Siga las mismas reglas que al construir sitios Web HTML seguros

Para una contraseña, solicítela al usuario y envíela a un servidor Utilice la sentencia Load Variables y el parámetro Send using POST mediante HTTPS: URL El servidor Web podría verificar si la contraseña es válida De este modo, la contraseña nunca estará disponible en el archivo SWF

Para obtener más información, consulte "Obtención de variables de archivos remotos" a pagina 174

Verificación de datos introducidos

En un formulario que pasa las variables a una aplicación de un servidor Web, uno desea verificar que los usuarios introducen la información correcta Por ejemplo, para evitar que los usuarios introduzcan texto en el campo del número de teléfono Utilice una serie de sentencias Set Variable junto con Loop e If para evaluar los datos introducidos

En el siguiente ejemplo se comprueba si los datos son un número y que el número esté en el formato ###-###-#### Si los datos son válidos, aparece el mensaje "Correcto, número de teléfono válido" Si los datos no son válidos, aparece el mensaje "Número de teléfono no válido":

On (Release)

If (Longitud(NúmeroTeléfono) = 12)

Set Variable: "Índice" = 1

Set Variable: "Válido" = true

Loop While (Índice and Válido)

Set Variable: "Caract" = Substring(NúmeroTeléfono,Índice,1)

If (Índice = 4 or Índice = 8)

If (Caract neg "-")

Set Variable: "Válido" = false

End If

Else

If (not (Ord(Caract) >= Ord("0") and Ord(Caract) <= Ord("9")))

Set Variable: "Válido" = false

End If

End If

Set Variable: "Índice" = Índice+1

End Loop

Else

Set Variable: "Válido" = false

End If

If (Válido = true)

Set Variable: "Mensaje" = "Correcto, número de teléfono válido"

Else

Set Variable: "Mensaje" = "Número de teléfono no válido"

End If

End On

Cuando llega el momento de enviar los datos, cree un botón con una acción similar a la siguiente Sustituya los parámetros de Get URL por los parámetros adecuados para su película:

On (Release)

If (Válido = true)

Get URL ("wwwservidorwebcom", window="_self", vars=GET)

End If

End On

Creación de menús emergentes

Para la creación de un menú emergente son necesarios dos pasos:

• Activar la opción Seguimiento como elemento de menú en el cuadro de diálogo Propiedades para todos los botones del menú emergente Como resultado, todos los demás botones del menú pueden recibir los eventos al soltar el ratón

• Encerrar el menú emergente en un botón grande que cierre el menú si el usuario desplaza el puntero fuera del menú y suelta el botón del ratón

En el siguiente ejemplo se explica cómo crear un menú emergente sencillo que puede utilizarse como la base de otro más complejo En las instrucciones se asume que el usuario ya sabe crear un símbolo de botón y de clip de película, además de adjuntar acciones a botones y fotogramas

Para crear un botón para su uso en un menú emergente:

1 Cree un símbolo de botón nuevo para los elementos del menú

2 Dibuje un rectángulo blanco relleno en el fotograma Arriba del símbolo del botón en la línea de tiempo

3 Cree un fotograma clave en el fotograma Sobre

4 Rellene el rectángulo con un color diferente como color de realce de los elementos del menú No es necesario definir los fotogramas Abajo o Acierto

Para crear el clip de la película del menú emergente:

1 Cree un símbolo nuevo de clip de película

2 Coloque una instancia del símbolo del botón que acaba de crear en el primer fotograma del clip de la película

3 Haga doble clic en el botón y a continuación seleccione la ficha Acciones en el cuadro de diálogo Propiedades

4 Haga clic en el símbolo de + (más), elija On MouseEvent en el menú emergente y seleccione Press en el panel de parámetros Con la línea On (Press) seleccionada, elija Go To en el menú emergente En Fotograma especifique Número como parámetro e introduzca 1 en el recuadro

Esta acción hace que el clip de película pase al siguiente fotograma cuando el usuario hace clic en el botón En el siguiente fotograma se muestra el menú abierto Utilice la condición On (Press) porque los menús emergentes responden al instante cuando se hace clic, no cuando se suelta el ratón como en los botones normales

5 Haga doble clic en el primer fotograma de la línea de tiempo y seleccione la ficha Acciones en el cuadro de diálogo Propiedades de fotograma Haga clic en el símbolo + (más) y elija Go To en el menú emergente Elija Fotograma y en Número especifique 1 como el parámetro

De este modo la película hace un bucle en el fotograma 1 hasta que el usuario haga clic en el botón Al hacer clic en el botón, la película se envía al fotograma 2

6 Cree un fotograma clave en el fotograma 2

7 Cree varias instancias del símbolo de botón que creó con anterioridad Organice las instancias en una columna debajo del botón creado en el fotograma 1

8 Seleccione Modificar > Alinear para alinear y ajustar el espacio entre las instancias

9 Añada rótulos de texto a cada botón

10 Haga doble clic en cada botón, incluido el botón superior que se creó en el fotograma 1 Utilice el cuadro de diálogo Propiedades de instancia para realizar lo siguiente:

• Haga clic en el ficha Definición y seleccione Seguimiento como elemento de menú Una vez establecida la opción Seguimiento como elemento de menú, un botón sobre el que se ha hecho clic permite que otros botones reciban la acción de soltar el botón

• Haga clic en la ficha Acciones y elija la sentencia que desee que ejecute el elemento del menú Después de la sentencia, elija la sentencia Go To que envía el clip de la película de nuevo al primer fotograma La acción puede ser parecida a esta:

On (Release)

Toggle High Quality

Go To and Stop (1)

End On

La sentencia Go To cierra el menú después de que el usuario realice la selección

11 Para probar el menú emergente, cree una instancia del símbolo del clip de película del menú emergente y elija Control > Probar película El menú emergente funciona en la mayoría de los aspectos, excepto que se mantiene abierto cuando se abre el menú y se hace clic fuera del menú

Para que el menú emergente se cierre cuando el usuario hace clic fuera del menú:

1 Cree un símbolo de botón nuevo que sea un rectángulo del mismo tamaño y color que el escenario

No defina los estados Abajo, Sobre ni Acierto del botón para que no se vea la respuesta del botón cuando se haga clic en él

2 Abra la película en modo de edición de símbolos y cree una capa nueva debajo de la capa donde estuvo trabajando

3 Cree una instancia del botón grande que acaba de crear

4 Haga doble clic en el botón

5 Active la opción Seguimiento como elemento de menú en el cuadro de diálogo Propiedades de instancia e incorpore una sentencia Go To que envíe el clip de película al fotograma 1

Para probar el menú emergente, cree una instancia del símbolo del menú emergente en el escenario y elija Control > Probar película

13. Adición de sonidos

Acerca de la adición de sonidos

Flash ofrece distintos métodos para utilizar sonidos Puede crear sonidos de reproducción constante, independientes de la línea de tiempo, o sincronizar una animación con una pista sonora Adjunte sonidos a botones para mejorar la respuesta y haga que aparezcan y desaparezcan de forma paulatina para refinar más la pista sonora

Existen dos tipos de sonidos en Flash, eventos de sonido y flujos de sonido Los primeros deben descargarse por completo para comenzar a sonar y continúan sonando hasta que se detienen de forma explícita Los segundos comienzan a sonar tan pronto como se ha descargado información suficiente para los primeros fotogramas y sincronizan el sonido con la línea de tiempo para reproducirlo en un sitio Web

Para añadir sonidos a una película debe crear una capa adicional, asignar el sonido y establecer opciones en la ficha Sonido del cuadro de diálogo Propiedades de fotograma La velocidad de muestra y el grado de compresión afectan tanto a la calidad como al tamaño de las películas exportadas Controle la calidad y el tamaño de cada sonido exportado con el cuadro de diálogo Propiedades de sonido o defina parámetros para todos los sonidos de la película en el cuadro de diálogo Configuración de publicación

Para obtener una introducción interactiva a la utilización de sonidos en Flash, elija Ayuda > Lecciones > 6 Sonido

Importación de sonidos

Elija Archivo > Importar para traer sonidos AIFF o WAV a Flash, del mismo modo que importaría archivos de otro tipo Flash almacena los sonidos en la biblioteca junto con los mapas de bits y los símbolos

Los sonidos pueden necesitar una cantidad considerable de espacio en la unidad de disco y en la memoria RAM En general, es preferible utilizar sonidos mono de 22 kHz y 16 bits (los estéreo utilizan el doble de información), pero Flash puede importar sonidos de 8 o de 16 bits a velocidades de muestra de 11, 22 ó 44 kHz

También permite convertir los sonidos a velocidades más bajas al exportarlos Consulte "Exportación de películas con sonido" a pagina 209 Al igual que con los símbolos, sólo es necesaria una copia del archivo de sonido para utilizar el sonido de varias formas en la película

Nota: Flash cambia la velocidad de muestra de los sonidos registrados en formatos no estándar (8 kHz) al importarlos y esto hace que el sonido sea más bajo que la grabación original Puede ocurrir lo mismo con las velocidades de muestra 96 y 32 kHz

Para importar un sonido:

1 Elija Archivo > Importar

2 En el cuadro de diálogo de importación estándar, localice y abra el archivo AIFF o WAV

Nota: Si desea añadir efectos a los sonidos de Flash, es preferible importar sonidos de 16 bits Si la memoria RAM del sistema es limitada, trabaje con clips de sonido cortos o con sonidos de 8 bits en lugar de 16

Adición de sonidos a una película

Para añadir sonidos a una película debe crear una capa adicional, asignar el sonido y establecer opciones en la ficha Sonido del cuadro de diálogo Propiedades de fotograma

Para añadir sonidos a una película:

1 Importe el sonido a la película

Consulte "Importación de sonidos" a pagina 204

2 Elija Insertar > Capa para crear una capa para el sonido

Puede colocar sonidos en tantas capas como desee Cada una actúa como un canal de sonido separado y al reproducir la película se combinan los sonidos de todas las capas

3 Haga clic en el fotograma de la capa de sonido donde desea que comience el sonido

4 Elija Modificar > Fotograma y haga clic en la ficha Sonido del cuadro de diálogo Propiedades de fotograma

5 En el menú emergente de Sonido elija el nombre del archivo de sonido que desea asociar con la capa actual

Si el sonido no aparece en el menú, debe importarlo Consulte "Importación de sonidos" a pagina 204

6 Elija una opción de sincronización:

• Evento sincroniza el sonido con un evento Un evento de sonido no comienza a sonar hasta que aparece el fotograma clave inicial y suena por completo, independientemente de la línea de tiempo, aunque la película se detenga Al reproducir la película publicada los eventos de sonido se mezclan

• Inicio es igual que Evento, pero si el sonido ya se está reproduciendo, inicia una nueva instancia

• Detener detiene el sonido especificado

• Flujo sincroniza el sonido para reproducirlo en un sitio Web Flash hace que la animación vaya a la misma velocidad que los flujos de sonido Si no puede dibujar los fotogramas de animación a suficiente velocidad, los salta Al contrario que los eventos de sonido, si la animación se detiene también lo hacen los flujos de sonido Nunca pueden sonar más tiempo que la longitud de los fotogramas que ocupa Al publicar la película los flujos de sonido se mezclan

7 Escriba un número en Bucle para especificar el número de bucles que debe realizar el sonido; si desea una reproducción continua, el valor debe ser elevado

8 Utilice los controles de la ventana Sonido para editar el sonido como desee Elija entre las siguientes opciones:

• Ninguno no aplica ningún efecto al archivo de sonido Elija esta opción para eliminar efectos aplicados con anterioridad

• Canal izquierdo/Canal derecho sólo reproducen el sonido en el canal izquierdo o derecho

• Fundir de izquierda a derecha/Fundir de derecha a izquierda mueven el sonido de un canal a otro

• Fundir dentro incrementa de forma paulatina la amplitud de un sonido

• Fundir fuera reduce de forma paulatina la amplitud del sonido

• Personalizado permite crear efectos de sonido personales Utilice la ventana Sonido para personalizar la onda sonora Consulte "Uso de controles de edición de sonidos" a pagina 206

Para añadir sonidos de forma abreviada:

1 Active la capa de sonido como capa actual

2 Arrastre un sonido de la ventana de previsualización de la biblioteca hasta el escenario

Flash coloca el sonido en el fotograma actual con la configuración de sonido predeterminada

Uso de controles de edición de sonidos

Utilice los controles de edición de sonido de la ficha Sonido del cuadro de diálogo Propiedades de fotograma para definir el punto inicial del sonido o controlar el volumen durante la reproducción Flash puede modificar el punto inicial y final de los sonidos Esto permite eliminar

las secciones no utilizadas para reducir el sonido

Para editar un sonido con los controles de edición de sonido:

1 Añada un sonido a un fotograma (consulte "Adición de sonidos a una película" a pagina 204), o seleccione un fotograma que contenga un sonido y elija Modificar > Fotograma; a continuación, haga clic en la ficha Sonido del cuadro de diálogo Propiedades de fotograma

2 Realice una de las siguientes acciones:

• Para cambiar los puntos inicial o final del sonido, arrastre los controles correspondientes de la ficha Sonido del cuadro de diálogo Propiedades de fotograma

• Para cambiar la envolvente del sonido, arrastre los selectores de las líneas envolventes a fin de modificar el nivel en diferentes puntos del sonido Las líneas envolventes muestran el volumen del sonido al reproducirse Haga clic en las líneas para crear hasta ocho selectores de envolvente Para eliminarlos, arrástrelos fuera de la ventana

• Para ver una parte mayor o menor del sonido en la ventana, haga clic en los botones de aumento o reducción

• Para cambiar la unidad de tiempo de segundos a fotogramas, haga clic en el botón correspondiente

Inicio y detención de sonidos en fotogramas clave

El inicio y la detención de sonidos en fotogramas clave de forma sincronizada con animaciones es la más común de las tareas relacionadas con el sonido

Para detener e iniciar sonidos en fotogramas clave:

1 Añada un sonido a una película en una capa independiente Para sincronizarlo con un evento de la escena, elija un fotograma clave de inicio que corresponda con el fotograma clave del evento de la escena Puede elegir cualquiera de las opciones de sincronización Consulte "Adición de sonidos a una película" a pagina 204

2 Cree un fotograma clave en la banda de tiempo de la capa de sonido, en el fotograma donde desee que finalice el sonido En la banda de tiempo aparece una representación del archivo de sonido

3 Haga doble clic en el fotograma clave final y, a continuación, un clic en la ficha Sonido del cuadro de diálogo Propiedades de fotograma

4 Elija el mismo sonido en el menú emergente de Sonido

5 Elija Detener en el menú emergente de sincronización

Cuando se reproduce la película, el sonido se detiene al alcanzar el fotograma clave final

Al arrastrar el cabezal de lectura con Mayús presionada, se repite el flujo de sonido del fotograma en que se halla Esto es muy práctico para alinear sonidos a una animación

Adición de sonidos a botones

Puede asociar sonidos con los diferentes estados del símbolo de un botón Los sonidos se almacenan con el símbolo, por lo que funcionan en todas sus instancias

Para añadir sonidos a un botón:

1 Seleccione el botón en la biblioteca

2 Elija Editar en el menú emergente del símbolo

3 En la línea de tiempo del botón, añada una capa de sonido

4 En la capa del sonido cree un fotograma clave que corresponda con cada estado del botón al que desee asignar un sonido

Por ejemplo, para añadir un sonido cuando el botón está presionado, cree un fotograma clave en el fotograma con la etiqueta Abajo

5 Añada un sonido al nuevo fotograma clave y elija Evento en el menú emergente de sincronización

Para asociar un sonido diferente con cada fotograma clave del botón, utilice una capa y un archivo de sonido diferentes para cada uno También puede utilizar el mismo archivo de sonido pero crear o utilizar un efecto sonoro distinto en cada fotograma del botón

Exportación de películas con sonido

La velocidad de muestra y el grado de compresión son de gran importancia para la calidad y el tamaño de los sonidos en la exportación de películas Cuanto más comprimido está un sonido y menor es la velocidad de muestra, menores son el tamaño y la calidad Haga pruebas hasta obtener un resultado óptimo Controle la calidad y el tamaño de exportación de los sonidos individuales mediante los parámetros de exportación del cuadro de diálogo Propiedades de sonido Si no se definen parámetros de exportación para un sonido, Flash exporta el sonido con los parámetros del cuadro de diálogo Configuración de publicación Consulte "Configuración de publicación Flash" a pagina 218 Si desea cambiar la configuración de todos los sonidos de una película, introdúzcala en el cuadro de diálogo Configuración de publicación Esta opción es muy útil si desea crear una película sonora larga de alta fidelidad para uso local y una versión más corta de baja fidelidad para la Web

Nota: También puede exportar todo el sonido de una película como archivo WAV con Archivo > Exportar película Consulte "Uso de Exportar película y exportar imagen" a pagina 233

Para establecer las propiedades de exportación de un sonido:

1 Haga clic con el botón derecho del ratón (Windows), o Control-Clic (Macintosh), en un archivo de sonido de la ventana de biblioteca y elija Propiedades en el menú contextual

2 Si el archivo de sonido se editó en otra aplicación, haga clic en Actualizar

3 Establezca la configuración de exportación como se describe en

"Especificación de opciones de compresión" a pagina 210

4 Haga clic en Probar y Detener para reproducir y detener el sonido

Especificación de opciones de compresión

Utilice las opciones del área Configuración de exportación del cuadro de diálogo Propiedades de sonido para elegir las opciones de compresión del sonido Las opciones disponibles dependen del método que se seleccione

Predeterminado Utiliza la configuración de compresión predeterminada del cuadro de diálogo Configuración de publicación Este parámetro no ofrece opciones adicionales

ADPCM Establece la compresión para datos de sonido de 16 bits Utilice este parámetro para exportar eventos de sonido cortos como pulsaciones de botón Al seleccionar ADPCM, aparecen las opciones Convertir Estéreo en Mono, Velocidad de muestra y Bits ADPCM

Convertir Estéreo en Mono Mezcla los sonidos estéreo como mono No afecta a los sonidos mono

Velocidad de muestra Establece la velocidad de exportación del archivo Las velocidades altas mejoran la fidelidad y permiten archivos de sonido mayores Las velocidades bajas ahorran espacio en el disco Las opciones de velocidad, tanto en mono como en estéreo, son las siguientes: 5 kHz es una frecuencia casi inaceptable para el discurso; 11 kHz es la calidad más baja recomendable para un segmento breve de música y es una cuarta parte de la velocidad de CD estándar; 22 kHz es una calidad muy común para la reproducción en la Web y es la mitad de la velocidad de CD estándar; 44 kHz es la velocidad acústica estándar para disco compacto (CD) Flash no puede mejorar la calidad de los sonidos Si un sonido está grabado como 11 kHz mono, Flash lo exporta con esta calidad aunque cambie la velocidad de muestra a 44 kHz estéreo

Bits ADPCM Determina el número de bits utilizados en la codificación ADPCM Un mayor nivel de compresión reduce los archivos de sonido pero la fidelidad es inferior La opción de 2 bits proporciona la calidad más baja; 5 bits es la opción que proporciona la calidad más alta

MP3 Permite exportar sonidos con la compresión MP3 Utilice esta opción para exportar flujos de sonido largos como pistas sonoras con música Cuando se selecciona la compresión