Fundamentos de la utilización de la API externa

Flash Player 9 y posterior, Adobe AIR 1.0 y posterior

Si bien en algunos casos un archivo SWF se puede ejecutar de forma independiente (por ejemplo, si se utiliza Adobe® Flash® Professional para crear un proyector SWF), en la mayor parte de las ocasiones las aplicaciones SWF se ejecutan como elementos incorporados dentro de otras aplicaciones. Normalmente, el contenedor que incluye el archivo SWF es un archivo HTML. Menos frecuente es usar un archivo SWF de modo que constituya total o parcialmente la interfaz de usuario de una aplicación de escritorio.

Cuando se trabaja en aplicaciones más avanzadas es posible que sea necesario establecer una comunicación entre el archivo SWF y la aplicación contenedora. Por ejemplo, es habitual que una página web muestre texto u otra información en HTML e incluya un archivo SWF en el que aparezca contenido visual dinámico, como un diagrama o un vídeo. En esos casos podría resultar útil que cuando los usuarios hicieran clic en un botón de la página web, algo cambiase en el archivo SWF. ActionScript contiene un mecanismo, conocido como la API externa, que facilita este tipo de comunicación entre el código ActionScript de un archivo SWF y el código de la aplicación contenedora.

Conceptos y términos importantes

La siguiente lista de referencia contiene términos importantes que son relevantes para esta función:

Aplicación contenedora
La aplicación en la que Flash Player está ejecutando un archivo SWF, como un navegador web, y la página HTML que incluye contenido de Flash Player o una aplicación de AIR que carga el SWF en una página web.

Proyector
Archivo ejecutable que incluye contenido SWF y una versión incorporada de Flash Player. Es posible crear un archivo de proyector mediante Flash Professional o la versión autónoma de Flash Player. Los proyectores suelen usarse para distribuir archivos SWF en CD-ROM o en otras situaciones similares en las que el tamaño de la descarga no es importante y el autor del SWF desea estar seguro de que los usuarios podrán ejecutar el archivo independientemente de que tengan instalado Flash Player en el equipo.

Proxy
Aplicación o código intermedio que llama a código de una aplicación (la "aplicación externa") en nombre de otra aplicación (la "aplicación que llama") y devuelve valores a esta última. Un proxy se puede usar por muy diversas razones, entre las que se encuentran las siguientes:
  • Para simplificar el proceso de realización de llamadas a funciones externas, convirtiendo las llamadas a funciones nativas de la aplicación que llama en un formato comprensible por la aplicación externa..

  • Para evitar limitaciones de seguridad u otras restricciones que impiden a la aplicación que llama comunicarse directamente con la aplicación externa.

Serializar
Convertir objetos o valores de datos a un formato que se pueda utilizar para transmitir los valores en mensajes entre dos sistemas de programación, como a través de Internet o entre dos aplicaciones diferentes que se ejecutan en un mismo equipo.

Ejecución de los ejemplos del capítulo

Muchos de los ejemplos de código proporcionados son pequeños fragmentos de código incluidos con fines de demostración, no ejemplos completos o código de comprobación de valores. Como el uso de la API externa requiere (por definición) escribir código ActionScript así como código en una aplicación contenedora, para probar los ejemplos hay que crear un contenedor (por ejemplo, una página web que contenga el archivo SWF) y utilizar los listados de código para interactuar con el contenedor.

Para probar un ejemplo de comunicación entre ActionScript y JavaScript:

  1. Cree un nuevo documento utilizando Flash Professional y guárdelo en su equipo.

  2. En el menú principal, elija Archivo > Configuración de publicación.

  3. En el cuadro de diálogo Configuración de publicación, en la ficha Formatos, compruebe que solo están activadas las casillas de verificación HTML y Flash.

  4. Haga clic en el botón Publicar. Esto genera un archivo SWF y un archivo HTML en la misma carpeta y con el mismo nombre que utilizó para guardar el documento de Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración de publicación.

  5. Desactive la casilla de verificación HTML. Una vez generada la página HTML, va a modificarla para añadir el código JavaScript apropiado. Si desactiva la casilla de verificación HTML, cuando modifique la página HTML, Flash no sobrescribirá los cambios con una nueva página HTML al publicar el archivo SWF.

  6. Haga clic en Aceptar para cerrar el cuadro de diálogo Configuración de publicación.

  7. Con un editor de HTML o texto, abra el archivo HTML creado por Flash al publicar el archivo SWF. En el código fuente HTML, agregue etiquetas de apertura y cierre script y cópielas en el código JavaScript del listado de código de ejemplo:

    <script> 
    // add the sample JavaScript code here 
    </script>
  8. Guarde el archivo HTML y vuelva a Flash.

  9. Seleccione el fotograma clave del Fotograma 1 de la línea de tiempo y abra el panel Acciones.

  10. Copie el listado de código ActionScript en el panel Script.

  11. En el menú principal, elija Archivo > Publicar para actualizar el archivo SWF con los cambios realizados.

  12. Abra la página HTML editada en un navegador web para verla y probar la comunicación entre ActionScript y la página HTML.

Para probar un ejemplo de comunicación entre ActionScript y un contenedor ActiveX:

  1. Cree un nuevo documento utilizando Flash Professional y guárdelo en su equipo. Puede guardarlo en cualquier carpeta en la que la aplicación contenedora espere encontrar el archivo SWF.

  2. En el menú principal, elija Archivo > Configuración de publicación.

  3. En el cuadro de diálogo Configuración de publicación, en la ficha Formatos, compruebe que solo está activada la casilla de verificación Flash.

  4. En el campo Archivo situado junto a la casilla de verificación Flash, haga clic en el icono de carpeta para seleccionar la carpeta en la que desea que se publique el archivo SWF. Al establecer la ubicación del archivo SWF se puede, por ejemplo, mantener el documento en una carpeta y colocar el archivo SWF publicado en otra carpeta, como la carpeta que contiene el código fuente de la aplicación contenedora.

  5. Seleccione el fotograma clave del Fotograma 1 de la línea de tiempo y abra el panel Acciones.

  6. Copie el listado de código ActionScript del ejemplo en el panel Script.

  7. En el menú principal, elija Archivo > Publicar para volver a publicar el archivo SWF.

  8. Cree y ejecute la aplicación contenedora para probar la comunicación entre ActionScript y dicha aplicación.

Para ver ejemplos completos del uso de la API externa para comunicarse con una página HTML, consulte el siguiente tema: Estos ejemplos incluyen el código completo, incluido el código de comprobación de errores de ActionScript y de la aplicación contenedora que se debe utilizar al escribir código con la API externa. Otro ejemplo completo de uso de la API externa es el ejemplo de la clase ExternalInterface de la Referencia de ActionScript 3.0.