Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estudando este tutorial (com tratamento de eventos) para adaptar em outro arquivo.
Com o componente ProgressBar funciona perfeitamente (code comentado), mas prefiro uma animação.
Adicionei ProgressEvent a box, sem sucesso. Como posso obter o progresso e remover o mc ao completar o carregamento?
/applications/core/interface/imageproxy/imageproxy.php?img=http://imageshack.us/a/img59/2084/preloaderq.jpg&key=8d8a5e2918523d9e639c74640ebd1700ec7967bf6a16c45cb1c1be6e8e6f3303" alt="preloaderq.jpg" />
var columns: int;
var my_x: int;
var my_y: int;
var my_thumb_width: int;
var my_thumb_height: int;
var my_images: XMLList;
var my_total: int;
var container_mc:MovieClip;
var preloaders_mc:MovieClip;
var x_counter: int = 0;
var y_counter:int = 0;
var myXMLLoader:URLLoader = new URLLoader();
myXMLLoader.load(new URLRequest("gallery.xml"));
myXMLLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
var myXML:XML = new XML(e.target.data);
columns = myXML.@COLUMNS;
my_x = myXML.@XPOSITION;
my_y = myXML.@YPOSITION;
my_thumb_width = myXML.@WIDTH;
my_thumb_height = myXML.@HEIGHT;
my_images = myXML.IMAGE;
my_total = my_images.length();
createContainer();
callThumbs();
}
function createContainer():void {
container_mc = new MovieClip();
container_mc.x = my_x;
container_mc.y = my_y;
addChild(container_mc);
preloaders_mc = new MovieClip();
preloaders_mc.x = container_mc.x;
preloaders_mc.y = container_mc.y;
addChild(preloaders_mc);
}
function callThumbs():void {
for(var i:int = 0; i < my_total; i++) {
var thumb_url = my_images[i].@ THUMB;
var thumb_loader = new Loader();
thumb_loader.load(new URLRequest(thumb_url));
thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);
thumb_loader.name = i;
thumb_loader.x = (my_thumb_width + 10) * x_counter;
thumb_loader.y = (my_thumb_height + 10) * y_counter;
if(x_counter + 1 < columns) {
x_counter++;
} else {
x_counter = 0;
y_counter++;
}
/*
var preloader_pb:ProgressBar = new ProgressBar();
preloader_pb.source = thumb_loader.contentLoaderInfo;
preloader_pb.x = thumb_loader.x;
preloader_pb.y = thumb_loader. y;
preloader_pb.width = my_thumb_width;
preloader_pb.height = my_thumb_height;
preloaders_mc.addChild(preloader_pb);
preloader_pb.addEventListener(Event.COMPLETE, donePb);
*/
// --- ANIMAÇÃO -----------------------------
var box:Box = new Box();
box.x = thumb_loader.x;
box.y = thumb_loader.y;
preloaders_mc.addChild(box);
}
}
function thumbLoaded(e:Event):void {
var my_thumb:Loader = Loader(e.target.loader);
container_mc.addChild(my_thumb);
}
/*
function donePb(e:Event):void {
var my_pb:ProgressBar = ProgressBar(e.target);
preloaders_mc.removeChild(my_pb);
}Outros exemplos que pesquisei (mesmo sem xml) não tem os recursos complementares deste arquivo.
Agradeço quem puder dar uma mão, preciso muito aprender isso.
Abraços
Carregando comentários...