10 de octubre de 2010
En ocasiones al trabajar con Adobe Flash es necesario cargar o insertar un archivo .swf dentro de otro.
Supongamos que queremos cargar el archivo "archivo_a_cargar.swf" en el archivo "principal.swf"
Con ActionScript 2 esta tarea se realizaba con una línea de código usando las funciones loadMovieNum() o loadMovie().
En ActionScript 2, usando la función loadMovieNum(), en el archivo "principal.swf" bastaría con escribir:
loadMovieNum("archivo_a_cargar.swf", 1);
Con esta línea de código se carga el archivo "archivo_a_cargar.swf" en el nivel / "layer" 1 del archivo "principal.swf".
Otra alternativa: en ActionScript 2, usando la función loadMovie(), en el archivo "principal.swf" bastaría con escribir:
loadMovie("archivo_a_cargar.swf", mc_destino);
Con esta línea de código se carga el archivo "archivo_a_cargar.swf" dentro del archivo "principal.swf" en el movieclip llamado "mc_destino". (Dentro del archivo "principal.swf" previamente se debió crear un movieclip en el stage/escenario y ponerle como nombre "mc_destino")
Pero con ActionScript 3 las cosas cambiaron radicalmente.
En Action Script 3 para cargar el archivo "archivo_a_cargar.swf" dentro del archivo "principal.swf" en el movieclip llamado "mc_destino" se puede utilizar este código:
var swf_Loader:Loader = new Loader();
// se crea un nuevo objeto del tipo Loader
var swf_archivo:String = "archivo_a_cargar.swf"
// se define el archivo a cargar
// se puede usar la notacion "./" "../" si el archivo está en otro directorio
var swf_descargar:URLRequest = new URLRequest(swf_archivo);
// se crea un nuevo objeto del tipo URLRequest
swf_Loader.load(swf_descargar);
// solicita el archivo con el método load del objeto Loader
mc_destino.addChild(swf_Loader);
// el archivo "archivo_a_cargar.swf" se carga dentro del archivo "principal.swf"
//
en el movieclip llamado "mc_destino"
En ActionScript 3 con estas líneas de código se carga el archivo "archivo_a_cargar.swf" dentro del movieclip llamado "mc_destino". (Dentro del archivo "principal.swf" previamente se debió crear un movieclip en el stage/escenario y ponerle como nombre "mc_destino")
Ejemplo:
A continuación se explica línea por línea el código anterior. En color crema se señala lo que NO DEBE MODIFICARSE pues son las funciones predefinidas de Action Script 3..
var swf_Loader:Loader = new Loader();
Crea la variable swf_Loader que almacena un objeto del tipo Loader. El objeto Loader permite cargar archivos swf , jpg, gif o png dentro de una animación flash.
var swf_archivo:String = "archivo_a_cargar.swf";
Se crea la variable swf_archivo del tipo STRING(cadena de caracteres) para almacenar el nombre del archivo a cargar
var swf_descargar:URLRequest=new URLRequest(swf_archivo);
Crea la variable swf_descargar que almacena un objeto del tipo URLRequest. El objeto URLRequest pemite hacer la solicitud HTTP al servidor para transferir los archivos a descargar.
swf_Loader.load(swf_descargar);
Se hace uso del método load del objeto Loader para cargar en sí el archivo.
mc_destino.addChild(swf_Loader);
Con el método addChild se despliega en el escenario/stage el archivo previamente cargado. En este caso se despliega dentro del movieclip mc_destino (que previamente debió crearse).
Es preferible cargar el archivo "archivo_a_cargar.swf" dentro del movieclip llamado "mc_destino" para tener mayor control sobre su posición.
Pero también es posible cargar el archivo "archivo_a_cargar.swf" en el stage/escenario del archivo "principal.swf".
Para ello se puede utilizar este código:
var swf_Loader:Loader = new Loader();
// se crea un nuevo objeto del tipo Loader
var swf_archivo:String = "archivo_a_cargar.swf"
// se define el archivo a cargar
// se puede usar la notacion "./" "../" si el archivo está en otro directorio
var swf_descargar:URLRequest = new URLRequest(swf_archivo);
// se crea un nuevo objeto del tipo URLRequest
swf_Loader.load(swf_descargar);
// solicita el archivo con el método load del objeto Loader
stage.addChild(swf_Loader);
// el archivo "archivo_a_cargar.swf" se carga en el stage/escenario
//
del archivo "principal.swf".
Es una buena práctica dividir una animación de flash en pequeños fragmentos que se carguen a petición del usuario. No tiene mucho sentido descargar una animación completa de 50 megas cuando el visitante no va a ver todo el contenido del sitio.
Están disponibles los archivos .fla de este ejercicio para un análisis más detallado.
Sitios de interés
Creando animaciones con canvas, javascript y HTML5
Swiffy, una herramienta para crear animaciones canvas a partir de animaciones Flash
Mostrando contenido alternativo a flash
¿HTML5 como alternativa a Adobe Flash?
Usando clases (class) y objetos en ActionScript 3
Usando símbolos del tipo bitmap con ActionScript 3
Comenta y opina este texto Lee mi libro de visitas
© 1997-2024 Alain García
albegago@hotmail.com
Twitter: @feesgo
YouTube
El vínculo a este documento es:
http://www.alaingarcia.net/weird/cargar_swf.php
Puedes apoyar a este sitio invitándome a comer...
Este sitio utiliza cookies propias y de terceros para mejorar sus servicios. Si continua navegando, entendemos que acepta su uso. Política de Privacidad