G. Interactividad con Acciones, Desencadenantes y Etiquetas
La API de tiempo de ejecución de Adobe Edge Animate nos permite agregar fácilmente interactividad básica a nuestras composiciones en forma de interacciones con el ratón, interacciones táctiles y algunos comportamientos básicos de línea de tiempo y reproducción. Todo esto se logra a través de diferentes tipos de acciones de Edge Animate, dependiendo del elemento al que se aplican. Las acciones en Adobe Edge Animate son instrucciones específicas basadas en el lenguaje de scripting JavaScript utilizado por todos los navegadores modernos. Estas instrucciones son una parte integral de una composición de Edge Animate que involucra cualquier tipo de interactividad.
En este capítulo, veremos lo siguiente:
- Acciones de escenario
- Acciones de elementos
- Desencadenantes de línea de tiempo
- Etiquetas de línea de tiempo
- Cursores de ratón
- El panel Código
- Eventos de Edge Animate
También veremos cómo agregar interactividad a nuestro banner web de muestra del capítulo anterior y consideraremos las API de tiempo de ejecución de Edge Animate antes de continuar.
Trabajar con acciones de Edge Animate
Las acciones son la principal forma de crear interactividad dentro de Adobe Edge Animate. Se pueden aplicar a un solo elemento, a todo el panel Escenario o a través de ciertos puntos a lo largo del panel Línea de tiempo como desencadenantes. El código utilizado a través del panel Acciones es todo JavaScript y se basa en dos bibliotecas de JavaScript: jQuery y Adobe Edge Animate Runtime. Vea el siguiente ejemplo:
A diferencia de Adobe Flash Professional, el código se puede aplicar a cualquier elemento; los elementos no tienen que crearse como símbolos para recibir acciones sobre ellos.
Hay muchos tipos de acciones que se pueden aplicar a un proyecto, dependiendo del elemento que recibe la interacción, pero generalmente involucran instrucciones de reproducción o referencia y manipulación de elementos.
El panel Acciones
El panel Acciones es el lugar central donde se aplican acciones y desencadenantes a los elementos dentro de Edge Animate. El diseño de este panel es único, ya que tenemos una serie de controles que permiten la manipulación de cualquier acción aplicada a un elemento específico de una manera muy robusta. El siguiente diagrama muestra algunas acciones:
A partir de este diagrama, podemos ver la variedad de controles que tenemos disponibles dentro de este panel:
- Lista de fragmentos: este conjunto de acciones genera fácilmente fragmentos de código con un simple clic de botón. A menudo requieren una pequeña manipulación del código después para que sean efectivos.
- Agregar/Eliminar acciones: estas acciones agregan nuevas acciones a un elemento o eliminan acciones existentes del elemento.
- Acciones aplicadas: estas acciones se representan como pestañas en la parte superior del panel y proporcionan una forma rápida de ver qué acciones ya están aplicadas a un elemento y un método rápido para cambiar entre ellas.
- Editor de código: este es el panel donde se realiza la manipulación manual de los comandos preestablecidos. También podemos omitir la lista de comandos por completo si lo deseamos y simplemente escribir el código a mano.
Preferencias en el panel Acciones
En la esquina superior derecha del panel Acciones hay un pequeño icono que nos permite acceder a las preferencias del panel. Podemos establecer una variedad de preferencias de esta manera, que se conservarán en los proyectos de Edge Animate.
Casi todos los paneles de Edge Animate incluyen un conjunto de preferencias a las que se puede acceder de esta manera.
Al hacer clic en el icono de preferencias, aparecerán las siguientes selecciones de preferencias:
| Elemento del menú | Descripción |
|---|---|
| Mostrar números de línea | Esto determina si los números de línea son visibles en el panel Acciones. |
| Tamaño de fuente | Esto ajustará el tamaño de fuente del código que se muestra en el panel Acciones. Tenemos la opción de Pequeño, Mediano o Grande. |
| Incluir comentarios de fragmentos | Cuando se insertan fragmentos en el área de código del panel Acciones, tenemos la opción de incluir comentarios útiles que brinden un poco de orientación sobre cómo configurar y personalizar el fragmento insertado. Esto activará o desactivará esa función. |
Aplicar acciones al escenario
Dado que el escenario en sí es, de hecho, un símbolo, no debería sorprender que las acciones se puedan asignar directamente al escenario. Para asignar una nueva acción al escenario, haga clic en el nodo raíz del escenario en el panel Elementos, luego, desde el panel Propiedades, haga clic en el comando del icono de script Acciones para configurar un conjunto de acciones. Alternativamente, las acciones del escenario se pueden configurar a través del panel Elementos de la misma manera.
El escenario, debido a su naturaleza única, puede tener algunas acciones únicas aplicadas. Estos se enumeran a continuación:
- creationComplete: con esta acción, el código se ejecutará al crear el símbolo del escenario.
- beforeDeletion: esta acción hace que el código se ejecute inmediatamente antes de que se elimine el escenario.
- compositionReady: estas instrucciones se activarán inmediatamente una vez que se cargue la composición.
- scroll: esta acción nos permite desplazar el contenido del escenario.
- keydown: esta acción permite la detección del teclado de eventos keydown.
- keyup: esta acción permite la detección del teclado de eventos keyup.
- orientationChange: esto detecta un cambio de orientación, más específico para dispositivos móviles.
- resize: esta acción se activa cuando se cambia el tamaño del escenario.
- onError: esta acción se ejecuta cuando se produce un error de JavaScript.
Por ejemplo, para escuchar cuándo el usuario presiona la barra espaciadora, Edge Animate colocará este código en una acción keydown:
// La variable "e.which" le indica el código de tecla de la tecla que se presionó, por ejemplo, 32 = espacio
if (e.which == 32) {
// hacer algo
}
Aplicar acciones a elementos individuales
Para muchas acciones, como clics del ratón, efectos de desplazamiento y cosas de esa naturaleza, querremos aplicar código directamente a ciertos elementos. La forma más rápida de hacerlo es ir al panel Elementos y hacer clic en el icono de corchetes pequeños junto al elemento deseado. Esto abrirá el panel Acciones, dentro del cual podemos especificar una acción apropiada como se muestra en la siguiente captura de pantalla:
Un ejemplo común de una acción de elemento individual sería un evento de clic dentro del cual dirigimos la herramienta Cabezal de reproducción para reproducir desde la posición 1000 a lo largo del panel Línea de tiempo:
// reproduce la línea de tiempo desde la posición dada (ms o etiqueta)
sym.play(1000);
// insertar código para clics del ratón aquí
Cambiar el cursor del ratón
Para comunicar más claramente que el usuario puede interactuar con un elemento, Edge Animate nos permite modificar la apariencia del cursor del ratón sobre elementos individuales. Esto es especialmente útil cuando se usa la interactividad a través de acciones de elementos, ya que proporciona otro nivel de interacción del usuario.
Si bien cambiar el cursor puede ayudar a informar al usuario sobre el propósito de un elemento, cambiarlo para representar una acción incorrecta o algún propósito aleatorio sería bastante confuso. Debemos tener cuidado de cambiar el cursor solo cuando sea apropiado hacerlo.
Tipos de cursor
Edge Animate permite muchos tipos de cursores dentro de una composición. Estos se pueden utilizar para ayudar a notificar al usuario de alguna acción que puede ocurrir a través del ratón, o que algún proceso está ocurriendo. En la siguiente captura de pantalla, enumeramos todos los tipos de cursores disponibles junto con su posible uso:
En esa captura de pantalla, vimos todos los cursores disponibles para nosotros dentro de un proyecto de Edge Animate. La siguiente tabla muestra cómo se llaman muchos de ellos y qué hacen.
| Cursor | Descripción | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| auto | Esto permite que el navegador determine qué cursor usar. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| default | Este es el cursor de flecha predeterminado. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pointer | Esto es útil para indicar que se puede hacer clic en algo. Parece una manita. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| move | Esto indica movimiento en cuatro direcciones. Es útil para hacer clic y arrastrar. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| crosshair | Esto se usa a menudo para elegir elementos en una página. Parece una pequeña cruz. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| wait | Esto indica que algo está sucediendo y el usuario debe ser paciente. Parece un reloj de pulsera. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| context-menu | Esta es la flecha predeterminada con un pequeño icono de menú al lado. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| help | Esta es la flecha predeterminada con un gran "?" incluido. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| no-drop | Esta es una flecha más pequeña con el icono de círculo con una barra debajo. Indica que no se puede realizar una operación. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| n-resize | Esta es una flecha de cambio de tamaño que apunta al norte. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ne-resize | Esta es una flecha de cambio de tamaño que apunta al noreste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| e-resize | Esta es una flecha de cambio de tamaño que apunta al este. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| se-resize | Esta es una flecha de cambio de tamaño que apunta al sureste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| s-resize | Esta es una flecha de cambio de tamaño que apunta al sur. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| sw-resize | Esta es una flecha de cambio de tamaño que apunta al suroeste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| w-resize | Esta es una flecha de cambio de tamaño que apunta al oeste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| nw-resize | Esta es una flecha de cambio de tamaño que apunta al noroeste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ns-resize | Esta es una flecha de cambio de tamaño de doble punta que apunta al norte y al sur. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| nesw-resize | Esta es una flecha de cambio de tamaño de doble punta que apunta al noreste y suroeste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ew-resize | Esta es una flecha de cambio de tamaño de doble punta que apunta al este y al oeste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| nwse-resize | Esta es una flecha de cambio de tamaño de doble punta que apunta al noroeste y sureste. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| text | Esto indica texto seleccionable o editable. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| vertical-text | Esto indica texto vertical seleccionable o editable. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| row-resize | Esto indica la capacidad de reposicionar a lo largo del eje x. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
col-resize Esto indica la capacidad de reposicionar a lo largo del eje y.DesencadenantesAl igual que cuando se trabaja con acciones de elementos, el panel Acciones es el lugar donde se aplican los desencadenantes a los elementos dentro de Edge Animate. El diseño de este panel es muy similar al que se utiliza cuando se trabaja con acciones de elementos, aunque como los desencadenantes residen a lo largo de la línea de tiempo y se activan mediante la herramienta Cabezal de reproducción en lugar de un evento elegido, en realidad hay menos opciones con las que lidiar. A partir de este diagrama, podemos ver la variedad de controles que tenemos disponibles dentro de este panel de la siguiente manera:
La capa Acciones de la línea de tiempoLa línea de tiempo de Edge Animate incluye una capa especial separada de todas las demás. Esto se llama capa Acciones y se utiliza explícitamente para trazar acciones especiales, llamadas desencadenantes, en varios puntos a lo largo de la línea de tiempo: Durante muchos años, al trabajar en Flash Professional, se ha recomendado crear una capa especializada denominada Acciones, dentro de la cual incluir cualquier ActionScript de la línea de tiempo. Edge Animate toma prestada esta práctica de flujo de trabajo establecida desde hace mucho tiempo con gran efecto. Trabajar con desencadenantesLos desencadenantes se pueden crear a lo largo de la línea de tiempo de varias maneras. El método más directo es colocar la herramienta Cabezal de reproducción en un punto donde queremos incluir un desencadenante y luego usar el atajo de teclado Ctrl + T (Windows) o Comando + T (Mac). Alternativamente, podemos hacer clic en el diamante del fotograma clave en la capa Acciones o ir al menú de la aplicación y elegir Línea de tiempo | Insertar desencadenante: Para editar un desencadenante existente, simplemente haga doble clic en él y aparecerá el panel Acciones, lo que nos permitirá realizar cualquier ajuste. Los desencadenantes también se pueden arrastrar a cualquier momento a lo largo del panel Línea de tiempo con el ratón. Trabajar con etiquetasLas etiquetas en Edge Animate son un mecanismo mediante el cual podemos establecer marcadores textuales a lo largo del panel Línea de tiempo. Estos marcadores pueden proporcionar pistas de creación visual o se pueden hacer referencia a través de acciones. Por ejemplo, si tuviéramos que establecer una etiqueta llamada JumpPoint en 0:02.000, podríamos hacer referencia a ella de la siguiente manera: JavaScript en lugar de: JavaScript Aquellos acostumbrados a trabajar en Flash Professional reconocerán este mismo concepto. En esa aplicación, se conocen como etiquetas de fotograma y se pueden utilizar exactamente de la misma manera. Saltar a etiquetasComo hemos indicado, no solo es posible saltar a diferentes códigos de tiempo específicos a lo largo del panel Línea de tiempo, sino que también podemos saltar a etiquetas de línea de tiempo establecidas. El uso de etiquetas nos permite liberarnos de los milisegundos absolutos en caso de que decidamos cambiar el contenido a lo largo de la línea de tiempo, invalidando así cualquier código de tiempo original que haya sido. Para ver un ejemplo de cómo funciona esto, eche un vistazo al proyecto dentro del directorio llamado EdgeLabels. En este ejemplo, establecemos un evento Click que luego dirige la posición de la herramienta Cabezal de reproducción a través de una acción Detener en. Para aplicar dicha acción, realice los siguientes pasos:
JavaScript
JavaScript Esto permitirá que la acción actual use el nombre de la etiqueta en lugar de una entrada específica de milisegundos.
Observe en esta captura de pantalla que en realidad no tenemos ninguna animación a lo largo de nuestra línea de tiempo para este proyecto. Simplemente estamos usando una combinación de acciones y estamos activando y desactivando la visibilidad de los elementos en puntos específicos. No tenemos que tener transiciones en una composición. El panel CódigoEn muchos sentidos, un panel de Acciones expandido: el panel Código proporciona una vista más completa de todo el código dentro de nuestro proyecto. También proporciona una forma alternativa de agregar controladores de eventos a los elementos de una manera más centrada en el código. El panel Código en Edge Animate es en cierto modo similar al Inspector de películas de Flash Professional, pero mucho más útil ya que el panel Código se puede utilizar como una herramienta de administración directa. El panel Código está oculto de forma predeterminada, pero se puede acceder a él a través del menú de la aplicación Ventana | Código. Proporciona una descripción general a nivel de proyecto de las acciones y desencadenantes dentro de una composición y también permite la manipulación directa del código a través de una interfaz similar al panel Acciones. Los atajos de teclado del panel Código son Ctrl + E (Windows) y Comando + E (Mac). Sin embargo, a diferencia del panel Acciones, tenemos una columna de todos los elementos de composición que tienen código adjunto a ellos a lo largo del lado izquierdo del panel. Desde esta columna, podemos agregar y eliminar acciones fácilmente con el alcance del proyecto a la vista. Haga clic derecho en cualquier acción y seleccione Eliminar acción para eliminarla por completo. Vista de código completoAdemás de proporcionar una perspectiva diferente sobre la asignación de todas las acciones dentro de nuestra composición, también tenemos la opción de cambiar a un editor de código completo, que mostrará todo el archivo {project} _edgeActions.js en forma editable. Para acceder a esto, simplemente ubique el botón Código completo en la esquina superior derecha del panel Código y haga clic en él para alternar entre vistas: Debemos tener especial cuidado al editar en la vista de código completo, ya que la posibilidad de introducir errores de JavaScript es mucho mayor que a través de la vista normal. Advertencias de error de códigoTambién hay una pequeña notificación en la esquina inferior izquierda del panel Código a través de la cual podemos ver cualquier error que Edge Animate detecta que está presente en JavaScript. Podemos ver el número de errores, una descripción de cada uno y se nos notifica en qué línea se detectó el error: Desglose de acciones y desencadenantesLas composiciones de Edge Animate dependen de la inclusión de las bibliotecas de JavaScript jQuery y Edge Animate Runtime para animar elementos y proporcionar interactividad. Para estos ejemplos, veremos el código sin procesar dentro del archivo {name} _edgeActions.js después de aplicar dichas acciones. Este archivo está organizado de la siguiente manera: JavaScript Acciones de composiciónEstas acciones de composición generales están vinculadas al escenario de Edge Animate. Dichos eventos se activan cuando la composición está lista, cuando se produce un desplazamiento o cuando se interactúa con el teclado mediante acciones keydown o keyup. La siguiente tabla muestra los distintos eventos que se pueden aplicar en casos como este:
Por ejemplo, mire el siguiente código: JavaScript Lea sobre DOM en: Acciones del ratónEstos son eventos normales del ratón que se registran en elementos individuales de Edge Animate. Úselos cuando apunte cuándo un usuario presiona o suelta el botón del ratón, entre otras cosas. La siguiente tabla muestra los distintos eventos que se pueden aplicar en casos como este:
Por ejemplo, considere el siguiente código: JavaScript Generalmente, estas acciones también se pueden aplicar al escenario. Acciones táctilesLas acciones táctiles se utilizarán cuando se dirijan a dispositivos táctiles, como teléfonos inteligentes y tabletas; podemos escuchar cuándo comienza un toque, movimientos táctiles y eventos de finalización táctil para realizar ciertas funciones dentro de una composición de Edge Animate. La siguiente tabla muestra los distintos eventos que se pueden aplicar en casos como este:
Por ejemplo, considere el siguiente código: JavaScript De forma similar a los eventos del ratón, estas acciones también se pueden aplicar al escenario o a elementos individuales. Acciones de jQueryEstos son eventos específicos de jQuery que podemos escuchar y responder dentro de una composición de Edge Animate, como se enumera en la siguiente tabla:
|
Comentarios
Publicar un comentario