Loading multiplos

Olá amigos.

Consegui solucionar um velho problema que tinha com MovieClipLoader, fiz na correria, pode existir outras formas para melhorar o desempenho do código, mas não tenho tempo para analisar isso agora, estou com muito serviço. Não sou nenhum expert em FLASH muito menos em AS. Mas tento ajudar a pessoas com o pouco que sei… bom, vamos ao que interessa.

///////////////////
// INÍCIO DO CÓDIGO
///////////////////
var tamX:Number = 770; // ‘WIDTH’ TOTAL DO MEU SWF
var tamY:Number = 210; // ‘HEIGHT’ TOTAL DO MEU SWF
// OBS: PODE EXISTIR ALGUM COMANDO PARA OBTER O TAMAHHO DE X E Y DO FILME ATUAL, SE ALGUÉM SOUBER ME INFORME, OBRIGADO.

//CRIA MC DO LOAD
createEmptyMovieClip(“preload_mc”,1);
//CRIA A BARRA DO LOAD
preload_mc.createEmptyMovieClip(“barraLoad”, 2);
with(preload_mc[“barraLoad”])
{
moveTo(0,0);
beginFill(0xEAEAEA);
lineTo(100,0);
lineTo(100,2);
lineTo(0,2);
endFill();
_x = (tamX/2)-(100/2); //CENTRALIZA A BARRA NA HORIZONTAL
_y = (tamY/2)-(2/2); //CENTRALIZA A BARRA NA VERTICAL
_xscale = 0; // ZERADO PARA NÃO MOSTRAR A BARRA
}

var dir:String = “../img/”; // INDIQUE O CAMINHO DOS ARQUIVOS
vArq = [“file01″,”file02″,”file03″,”file04″,”file05”]; //RECEBE ARQUIVOS
vExt = “.jpg”; //RECEBE EXTENSÃO

var fileLoad:Array = vArq; //CRIA UM ARRAY COM O NOME DOS ARQUIVOS
var totalFile:Number = fileLoad.length; // QUANTIDADE DE ARQUIVOS P/ CARREGAR
var countE:Number = 0; // VARIÁVEL PARA CONTAR OS ELEMENTOS
var porcen:Number = 0; // VARIÁVEL DA PORCENTAGEM DO LOAD

var myMCL:MovieClipLoader = new MovieClipLoader(); // INSTÂNCIA O MOVIECLIPLOADER
var myListener:Object = new Object(); // OBJETO OUVINTE

// CRIA OS MCs VAZIO DOS ARQUIVOS
for (var i:Number = 0; i < totalFile; i++) { // CARREGA TODOS OS FILES
var mc:MovieClip = createEmptyMovieClip(fileLoad[i],this.getNextHighestDepth()); // CRIA MC COM O NOME DE CADA ARQUIVO
}

myListener.onLoadInit = function(_mc:MovieClip) {
countE++;
if (countE == totalFile) { // SE A VAR COUNTE NÃO FOR = AO TOTAL DE ARQUIVOS, CONTINUA CARREGANDO OS DEMAIS ARQUIVOS
// AQUI PODE SER USADO PARA MOVER O MC JÁ CARREGADO, ENTRE OUTRAS UTILIDADES QUE DÁ PARA FAZER… NESTE EXEMPLO NÃO VOU USAR PRA NADA
} else {
myMCL.loadClip(dir+fileLoad[countE] + vExt, fileLoad[countE]); // CARREGA CADA ARQUIVO
}
}

// APÓS COMPLETAR O CARREGAMENTO DOS 5 ARQUIVOS ESTÁ FUNÇÃO PASSA A SER ATIVADA
myListener.onLoadComplete = function (_mc:MovieClip) {
if (_mc == file05) { // SÓ IRÁ SEGUIR APÓS CARREGAR O ÚLTIMO ARQUIVO
gotoAndStop(2); // MANDO PARA O SEGUNDO FRAME
}
}

var vAuxiliar:Number = 0; // AUXILIA NA PORCENTAGEM
var vPor = 100/totalFile; // DÁ O VALOR DA PORCENTAGEM PARA CADA ARQUIVO
var varMc:Number = 1; //IDENTIFICA QUAL MC JÁ FOI CARREGADO 100%
myListener.onLoadProgress = function(_mc:MovieClip, loaded:Number, bTotal:Number) {
porcen = Math.floor(loaded/bTotal*vPor); // CALCULA A PORCENTAGEM
preload_mc.barraLoad._xscale = vAuxiliar + porcen;
//preload_mc.pct_txt.text = vAuxiliar + porcen + “%”;
// QUEM QUISER ADD EM TEXTO A PORCENTAGEM, CRIE UM MC COM O NOME PCT_TXT E TIRE O COMENTÁRIO ACIMA
if (porcen == vPor) { // SE O 1º ARQUIVO FOR CARREGAO 100% SEGUE…
vAuxiliar += vPor; // SOMA A PORCENTAGEM DO ARQUIVO ANTERIOR COM O PRÓXIMO }
};

myMCL.addListener(myListener); // FICA OUVINDO MYMCL

// CARREGA O 1º ARQUIVO DO ARRAY
myMCL.loadClip(dir+fileLoad[countE] + vExt, fileLoad[countE]);

///////////////////
// FIM DO CÓDIGO
///////////////////

No comments yet

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: