Documentación de Flash CS3 |
|||
| Programación con ActionScript 3.0 > Utilización de clips de película > Carga de un archivo SWF externo | |||
En ActionScript 3.0, los archivos SWF se cargan mediante la clase Loader. Para cargar un archivo SWF externo, el código ActionScript debe hacer cuatro cosas:
load() del objeto Loader pasando la instancia de URLRequest como parámetro.addChild() en un contendor de objeto de visualización (como la línea de tiempo principal de un documento de Flash) para añadir la instancia de Loader a la lista de visualización.Una vez finalizado, el código tiene el siguiente aspecto:
var request:URLRequest = new URLRequest("http://www.[yourdomain].com/externalSwf.swf");
var loader:Loader = new Loader()
loader.load(request);
addChild(loader);
Este mismo código se puede utilizar para cargar un archivo de imagen externo como una imagen JPEG, GIF o PNG especificando el URL del archivo de imagen en lugar del URL del archivo SWF. Un archivo SWF, a diferencia de un archivo de imagen, puede contener código ActionScript. Por lo tanto, aunque el proceso de carga de un archivo SWF puede ser idéntico a la carga de una imagen, al cargar un archivo SWF externo, tanto el SWF que realiza la carga como el SWF cargado deben residir en el mismo entorno limitado de seguridad si se tiene previsto utilizar código ActionScript para comunicarse de algún modo con el archivo SWF externo. Además, si el archivo SWF externo contiene clases que comparten el mismo espacio de nombres que las clases del archivo SWF que realiza la carga, es posible que sea necesario crear un nuevo dominio de aplicación para el archivo SWF cargado a fin de evitar conflictos de espacio de nombres. Para más información sobre la seguridad y los dominios de aplicación, consulte Utilización de la clase ApplicationDomain y Carga de archivos SWF e imágenes.
Cuando el archivo SWF externo se carga correctamente, se puede acceder a él a través de la propiedad Loader.content. Si el archivo SWF externo se publica para ActionScript 3.0, será un objeto MovieClip o Sprite, en función de la clase que amplíe.
Si el archivo SWF externo se ha publicado con una versión anterior de ActionScript, hay que tener en cuenta algunas limitaciones importantes. A diferencia de un archivo SWF de ActionScript 3.0 que se ejecuta en AVM2 (máquina virtual ActionScript 2), un archivo SWF publicado para ActionScript 1.0 ó 2.0 se ejecuta en AVM1 (máquina virtual ActionScript 1).
Cuando un archivo SWF AVM1 se carga correctamente, el objeto cargado (la propiedad Loader.content) será un objeto AVM1Movie. Una instancia de AVM1Movie no es lo mismo que una instancia de MovieClip. Es un objeto de visualización que, a diferencia de un clip de película, no incluye propiedades ni métodos relacionados con la línea de tiempo. El archivo SWF AVM2 principal no tendrá acceso a las propiedades, métodos ni objetos del objeto AVM1Movie cargado.
Existen restricciones adicionales en un archivo SWF AVM1 cargado por un archivo SWF AVM2: Para ver más detalles, consulte la entrada de la clase AVM1Movie en Referencia del lenguaje y componentes ActionScript 3.0.
Flash CS3
Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios
Página actual: http://livedocs.adobe.com/flash/9.0_es/main/00000216.html