Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Recommended Posts

Olá pessoal tudo bem?

to com a seguinte dúvida...

criei uma animação com 2 cenas...

a 1ª "carregador" e a 2ª "animação". A minha dúvida é a seguinte:

Na cena "carregador" criei 3 camadas: img, mask e actions.

na camada IMG inseri uma imagem qualquer. Na MASK criei um retângulo com a mesma cor do palco e dimensionei para que cobrisse a imagem da camada IMG. Na camada ACTION inseri o seguinte código:

total = _root.getBytesTotal();carregado = _root.getBytesLoaded();percentual = int(carregado / total * 100);mascara._yscale = 100 - percentual;if (carregado < total){	gotoAndPlay(1);	}else{	_root.play();	}
EXPLICANDO:

esse carregador na verdade é o retangulo que de acordo com o percentual carregado vai diminuindo e consequentemente a imagem atrás do retamgulo vai aparecendo.

**OBS: só funciona se eu fizer o seguinte:

adicionar um quadro chave na camada ACTIONS e "dividir" o código:

QUADRO CHAVE 1:

total = _root.getBytesTotal();carregado = _root.getBytesLoaded();percentual = int(carregado / total * 100);mascara._yscale = 100 - percentual;
QUADRO CHAVE 2:

if (carregado < total){	gotoAndPlay(1);	}else{	_root.play();	}
e no 3º quadro chave das 3 camadas dei F5...

Aqueles carregadores tradicionais com barra e porcentagem se colocando o código todo no mesmo quadro chave funciona direitinho, nesse que fiz o código é o mesmo, trocando claro o _xscale pelo _yscale, mas só funciona se fizer isso, "dividir" o código...

Gostaria que se possível alguém pudesse me explicar pq que ocorre isso para que eu entenda mais sobre esses assuntos!

obrigado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olhei, mudei, testei e funcionou.

:D

onEnterFrame = function() {	var wFoto:Number = clipdaFoto._width;	/* 	clipdaFoto eh a instancia do clip onde vai ficar a foto a ser mascarada.	Ele vai pegar a largura da foto e vai multiplicar no percentual que vai resultar ao carregar o arquivo todo sempre na largura da foto total	ou seja, mascarando a foto inteira	*/	var total:Number = Math.round(getBytesTotal());	//pega o valor total dos bytes do movie inteiro	var carregado:Number = Math.round(getBytesLoaded());	// valor carregado	var percentual:Number = int((carregado/total)*wFoto);	// percentual a ser carregado de 0 ate o valor wFoto (width da foto)	if (total > carregado) {		mascara._yscale = percentual;	} else {		this.play();	}};

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.