En la mayoría de las ocasiones funciona perfectamente, pero en otras la foto se queda cargada a medias (a media opacidad), o a veces no carga la siguiente. ¿Es algún error común del tween de flash, o algún problema con el navegador?
Dejo aquí el código, por si acaso:
Código :
import flash.net.*;
import flash.events.*;
import fl.transitions.*;
import fl.transitions.easing.*;
cargando.visible = false;
cuanto.visible = false;
var cargaLista:URLLoader = new URLLoader (new URLRequest("imgs_inst.xml"));
cargaLista.addEventListener(Event.COMPLETE, datosLista);
var cargador:Loader = new Loader();
function datosLista(e:Event):void
{
var datosXML:XML = XML (cargaLista.data);
var numeroFotos:Number = datosXML.imagen.length();
var fotoAleatoria:String = datosXML.imagen[Math.floor(numeroFotos*Math.random())].toString();
var solicitud:URLRequest = new URLRequest(fotoAleatoria);
cargador.load(solicitud);
ponerListener(cargador.contentLoaderInfo);
cargaLista.removeEventListener(Event.COMPLETE, datosLista);
}
function ponerListener (dispatcher:IEventDispatcher):void
{
dispatcher.addEventListener(ProgressEvent.PROGRESS, cargaProgreso);
dispatcher.addEventListener(Event.COMPLETE, cargaCompleta);
}
function cargaProgreso (e:ProgressEvent):void
{
cargando.visible=true;
cuanto.visible = true;
var cargado:int = e.bytesLoaded;
var total:int = e.bytesTotal;
var porcentaje:int = cargado/total*100;
cuanto.text = String(porcentaje)+"%";
}
function cargaCompleta (e:Event):void
{
cargador.x = 231-cargador.width/2;
st.addChild(cargador);
st.mask = mascara;
cargando.visible=false;
cuanto.visible = false;
var aparece:Tween = new Tween (st, "alpha", Strong.easeOut, 0, 1, 4, true);
aparece.addEventListener(TweenEvent.MOTION_FINISH, desvanecer);
}
function desvanecer (e:Event):void
{
var desaparece:Tween = new Tween (st, "alpha", Strong.easeOut, 1, 0, 1, true);
desaparece.addEventListener(TweenEvent.MOTION_FINISH, datosLista);
}
