éste es pues mi inquietud.
1. tengo una plantilla : index.swf (donde tengo un menu de navegación: adelante y atras)
2. tengo 5 swf que se cargan en secuencia
¿Cómo precargo todos los swf al mismo tiempo?
hasta ahora logro que en cada acción de los botones cargue el siguiente o el anterior
estuve mirando los tutoriales del señor Zguillez (ver) pero no conseguí integrarlo en mi ejemplo
¿Cómo desde cada swf cargado accedo a la pelicula principal?
desde el swf cargado no he podido utilizar las funciones que estan en el index.swf
sin embargo desde el index.swf si puedo acceder a algunas funciones de los que están cargados. pero con errores
éste es mi código
Código ActionScript :
var peliculas_arr:Array = ["0.0.swf","0.1.swf","0.2.swf","0.2.1.swf","0.2.2.swf"];
// defino cual esl el indice para saber cual es el que está activo
var currentIndex:int = 0;
// hago el cargador.. para los swf
var loader:Loader = new Loader();
// en el MC del Contenedor voy a ir cargando todos los swf
contenedor.addChild(loader);
atras.addEventListener(MouseEvent.CLICK, anterior_fn);
adelante.addEventListener(MouseEvent.CLICK, siguiente_fn);
// creo las funciones para ir adelante o atras
function siguiente_fn(event:MouseEvent):void {
// aqui controlo el index para saber cual swf cargo
currentIndex++;
if (currentIndex > peliculas_arr.length - 1) {
currentIndex = 0;
}
// despues de organizar el index cargo en el contenedor la pelicula
cargarPelicula(peliculas_arr[currentIndex]);
}
function anterior_fn(event:MouseEvent):void {
currentIndex--;
if (currentIndex < 0) {
currentIndex = peliculas_arr.length - 1;
}
cargarPelicula(peliculas_arr[currentIndex]);
}
// aqui cargo los swf
function cargarPelicula(url:String) {
var Ubicacion:URLRequest = new URLRequest(url);
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,Cargando);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, Completo);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, hayError);
loader.load(Ubicacion);
function Cargando(e:ProgressEvent) {
}
function Completo(e:Event) {
// cuando ha cargado completamente un swf entonces voy a hacer una comparación para
// activar los botones
var child:MovieClip = MovieClip(e.target.content);
switch (currentIndex) {
case 0 :
child.boton2_btn.addEventListener(MouseEvent.CLICK, siguiente_fn);
break;
case 1 :
break;
case 2 :
child.personaje.objetivo.addEventListener(MouseEvent.CLICK, siguiente_fn);
// éste llamado no me funciona, me saca error
/*
TypeError: Error #1010: Un término no está definido y no tiene propiedades.
at Function/<anonymous>()
*/
break;
case 3 :
break;
case 4 :
break;
}
}
function hayError(e:Event) {
trace("error");
}
}
// cargo la primera pelicula
cargarPelicula(peliculas_arr[currentIndex]);
Muchas Gracias por sus aportes.
