Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Be gente tentei um titulo melhor mais o que achei foi esse.
mais vamos ao meu problema.
é o seguinte.
eu busco um SWF externo e coloco no meu palco principal, até ae beleza, crio um campo texto dinâmico e atribuo a ele a porcentagem q está sendo carregado esse arquivo, um carregador comum como todos os outros..
agora que vem o problema.
junto com esse texto eu coloco um MC que seria uma animação que rola junto com o carregador. tipo se o carregador está em 10% a animação rola 10frames assim por diante
ai está meu problema.
essa animação não para com o carregador ela fica em loop até chegar a 100%.
mais bem.
eu estou usando a classe movieClipLoader();
meu codigo é o seguinte.
nessa parte do codigo eu crio a variável pct como int que receberá o valor da porcentagem..
padrão né :D
e crio um movieClip vazio e atacho um clipe pronto a ele, esse clip tem 100 frames de animação e seto a posição dele no palco.
var pct:Number;
this.createEmptyMovieClip("carregador", this.getNextHighestDepth());
carregador.attachMovie("myID",carregador,1);
carregador._x=500;
carregador._y=350;
agora abaixo vem o metodo onLoadProgress
na qual eu pego o valor retornado e atribuo no contator pct, junto com isso eu do a instrução para o clip incluido na pagina parar de acordo com contador pct, so que essa parte ai não funciona.
alguem pode me da uma luz e dizer o que estou fazendo de errado.
meuListener.onLoadProgress = function(alvo:MovieClip, loadedBytes:Number,TotalBytes:Number):Void{
//trace(alvo + " onLoadProgress with " + loadedBytes + " bytes of " + TotalBytes);
pct = Math.floor((loadedBytes / TotalBytes) * 100);
percent.text = pct + "%";
trace(pct);
carregador.gotoAndStop(pct);
}//fecha onLoadProgress
vlwww. .
Amigo, sempre quis fazer um destes..srss
Acho que ainda precisa aperfeiçoar, mas usa isso aqui:
anim.stop();
var mcLoader:MovieClipLoader = new MovieClipLoader();
var list:Object = new Object();
list.onLoadProgress = function(alvo:MovieClip, loadedBytes:Number,TotalBytes:Number){
var pctAnim = Math.floor(anim._totalframes)/100;
pct = Math.floor((loadedBytes / TotalBytes) * 100);
anim.gotoAndStop(pctAnim*pct);
}
mcLoader.addListener(list);
mcLoader.loadClip("imagem.jpg",alvo);
Eu crei um mc vazio chamado alvo para carregar, e uma animação chamada anim, com uma animação simples.
Abs.
Weverton
testei esse ai que você deu e nada :(
não rolo continua a emsma coisa.
o clipe não para
você instanciou sua animação como "anim" e o lugar onde está carregando como "alvo"?
sim instanciei sim,
so alterei meu codigo... com o que você falou
Weverton meu codigo ficou assim.
carregador.removeMovieClip();
var meuClip:MovieClipLoader = new MovieClipLoader();
var meuListener:Object = new Object();
var pct:Number;
this.createEmptyMovieClip("carregador", this.getNextHighestDepth());
carregador.attachMovie("myID", carregador, 1);
carregador._x = 500;
carregador._y = 350;
meuListener.onLoadStart = function(alvo:MovieClip) {
var loadProgress:Object = meuClip.getProgress(alvo);
};
//fehca onLoadStart
meuListener.onLoadProgress = function(alvo:MovieClip, loadedBytes:Number, TotalBytes:Number):Void {
//trace(alvo + " onLoadProgress with " + loadedBytes + " bytes of " + TotalBytes);
var pctAnime = Math.floor(carregador._totalframes)/100;
pct = Math.floor((loadedBytes/TotalBytes)*100);
percent.text = pct+"%";
carregador.gotoAndStop(pctAnime * pct);
};
//fecha onLoadProgress
meuListener.onLoadComplete = function(alvo:MovieClip) {
var loadProgress:Object = meuClip.getProgress(alvo);
percent.text = "";
carregador.removeMovieClip();
};
//fecha onLoadComplete
meuListener.onLoadInit = function(alvo:MovieClip) {
alvo._xscale = 100;
alvo._yscale = 100;
};
//fecha onLoadInit
meuClip.addListener(meuListener);
this.createEmptyMovieClip("menuSite", this.getNextHighestDepth());
menuSite._x = 0;
menuSite._y = 0;
meuClip.loadClip("menuAbertura.swf", menuSite);
mais não ta funcionando.
o movi continua sem parar de acordo com a porcentagem
alguma ideia?
E se você tentar um EnterFrame? Talvez a animação rola pq ele só pede para ir para o quadro uma única fez? manda ele sempre pegar o valor da porecentagem transformada em inteiro e ir para o quadro correspondente com onEnterFrame(). Deve funcionar
funciona não irmão ja tinha tentado isso tb.
to perdido aqui ja tentei de tudo e nada funciona
o que ta acontecendo é que ele so ta mostrando 1 frame na animação.
então pra animação o movie possui 1 frame.
e isso eu ano to sabendo resolver.
nem to entendendo o pq q isso está acontecendo ..
alguem te uma ideia ???
vai testando com o trace para saber o que acontece
exemplo:
meuListener.onLoadProgress = function(alvo:MovieClip, loadedBytes:Number, TotalBytes:Number):Void {
var pctAnime = Math.floor(carregador._totalframes)/100;
pct = Math.floor((loadedBytes/TotalBytes)*100);
carregador.gotoAndStop(pctAnime * pct);
trace("_currentframe:"+carregador._currentframe)
trace("_totalframes:"+carregador._totalframes)
};
[]´s
Eder so pra ter noção.
olha aqui. o que ta no trace ja tinha feito isso tb
:D
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
_currentframe:0
_totalframes:1
o problema é nesse movieClip carregador, tem certeza que ele tem mais de um frame? a animação esta dentro dele mesmo ou dentro de outro movie dentro dele?
[]´s
dentro de outro movie dentro dele.
dentro de outro movie dentro dele.
então o caminho é diferente você precisa especificar o nome dele tambem:
carregador.nomeDoMovie.gotoAndStop(pctAnime * pct);
mesmo eu usando o attach??? pra colocar esse outro movie dentro do MC criado no caso o carregador?
mais mesmo dessa forma não funcionou :(
mesmo eu usando o attach???
sim mesmo usando attach....
cara faz outro teste, no movieCLip que tem a animação, no 1º frame dele insere essa linha
trace(this)
agora você testa, ele vai mostrar o "endereço" certinho do movie que você quer mexer,ai é só colocar dentro do onLoadProgress
[]´s
Eder vo explicar o que a acontecendo.
ele ta me dando o caminho sim.
é esse
_level0.carregador._level0.carregador
pois bem.
mais não consigo pegar as informações dessa animação.
ele so me da frame 0 e 1 apenas.
ae valeu pela ajuda de geral do forum
apos uma ajuda e um amigo que conseguiu resolver o problema pra mim
vi o que estava de errado.
meu erro estava aqui..
carregador.attachMovie("myID", carregador, 1);
eu estava tando o mesmo nome para o arquivo do attach e pro mc criado
então ele se confundia :D
ficou assim da forma correta e funcionou.
carregador.attachMovie("myID", preloader, 1);
alguem????????????