Colocar Preloader
Boa tarde galera, beleza?
Estou começando a trabalhar mais com o AS3 e já começou a surgir as duvidas!
Quero fazer uma galeria de imagens com base nos dados de um XML! Fiz varias pesquisas aqui e cheguei nisso aqui abaixo
index.fla
var meuURL:URLRequest = new URLRequest("xml/corporativo.xml");
var infoXML:URLLoader = new URLLoader();
var total:int;
infoXML.load( meuURL );
infoXML.addEventListener( Event.COMPLETE, leiaXML );
function leiaXML( evento:Event ):void {
var meuXML:XML = new XML( infoXML.data );
total = meuXML.imagem.length();
for(var i:int = 0; i < total; i++){
var enderecoImg:URLRequest = new URLRequest(meuXML.imagem[i].menor[0]);
var carregarImg:Loader = new Loader();
var mc:MovieClip = new MovieClip();
carregarImg.load(enderecoImg);
carregarImg.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, carregando);
carregarImg.contentLoaderInfo.addEventListener(Event.COMPLETE, finalizado);
menor.addChild(mc);
mc.x = i * distancia;
mc.name = "menor_" + i.toString();
mc.buttonMode = true;
mc.addEventListener(MouseEvent.CLICK, someImagem);
mc.addChild(carregarImg);
}
}
function carregando(e:ProgressEvent):void{
var pct:int = e.bytesLoaded * 100 / e.bytesTotal;
trace(pct + "%");
}
function finalizado(e:Event):void{
trace("Finalizou");
}
function someImagem(e:MouseEvent):void{
trace("Evento clique da foto " + e.currentTarget.name + " funcionou");
}
corporativo.xml
<?xml version ="1.0" encoding="utf-8"?>
<imagens>
<imagem>
<menor>images/corporativo/menor/corporativo01.jpg</menor>
<maior>images/corporativo/maior/corporativo01.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo02.jpg</menor>
<maior>images/corporativo/maior/corporativo02.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo03.jpg</menor>
<maior>images/corporativo/maior/corporativo03.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo04.jpg</menor>
<maior>images/corporativo/maior/corporativo04.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo05.jpg</menor>
<maior>images/corporativo/maior/corporativo05.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo06.jpg</menor>
<maior>images/corporativo/maior/corporativo06.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo07.jpg</menor>
<maior>images/corporativo/maior/corporativo07.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo08.jpg</menor>
<maior>images/corporativo/maior/corporativo08.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo09.jpg</menor>
<maior>images/corporativo/maior/corporativo09.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo10.jpg</menor>
<maior>images/corporativo/maior/corporativo10.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo11.jpg</menor>
<maior>images/corporativo/maior/corporativo11.jpg</maior>
</imagem>
<imagem>
<menor>images/corporativo/menor/corporativo12.jpg</menor>
<maior>images/corporativo/maior/corporativo12.jpg</maior>
</imagem>
</imagens>
Até ai, beleza. As imagens aparecem e quando clico nelas, aparece o trace normalmente (Fiz isso pq depois quero carregar a imagem maior, mas isso é mais pra frente).
O meu problema é com o preloader. Eu gostaria de colocar um TextField dentro de cada "mc" e nele apresentar a porcentagem do carregamento! Porem eu so consegui dar um trace nessa porcentagem!
Vi em alguns codigos que a linha "mc.addChild(carregarImg);" fica dentro da função "finalizado", porem não consegui referenciar o textfield dentro do mc!
Alguem poderia me ajudar!
Obrigado!
Discussão (1)
Carregando comentários...