Caruzo 0 Denunciar post Postado Maio 9, 2006 Olá pessoal,estou com uma pequena duvida!!!gostaria de fazer um preloading para as imagens externas q chamo no meu swf...fiz uma pesquisa no forum e achei esse código de um amigo chamado "carneirinho" function carrega(imagem, alvo){loadMovie(imagem, alvo);onEnterFrame = function(){c = alvo.getBytesLoaded();t = alvo.getBytesTotal();if(c == t && c > 10){delete onEnterFrame}}}ai para chamar a função você usa:carrega("imagem.jpg", _root.mc);mas gostaria de acrescentar uma barrinha que cresce e mostra o andamento do carregando!!!como eu posso fazer essa modificação no código???agradeço a todos,[]´sCaruzo Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Maio 9, 2006 Coloca essa função: function carrega(imagem, alvo) { loadMovie(imagem, alvo); this.createTextField("my_txt", this.getNextHighestDepth(), alvo._x+10, alvo._y+10, 300, 100); //parametros: nome, nivel, _x, _y, largura, altura my_txt.type = "dynamic"; my_txt.variable = "teste"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0x000000; //cor em formato hexa my_txt.setTextFormat(my_fmt); onEnterFrame = function () { c = alvo.getBytesLoaded(); t = alvo.getBytesTotal(); teste = Math.round(c/t*100)+"%"; if (c == t && c>10) { delete onEnterFrame; my_txt.removeTextField(); } };} Não cria a barrinha, mas cria o número que vai de 0% a 100% Falows Compartilhar este post Link para o post Compartilhar em outros sites
Caruzo 0 Denunciar post Postado Maio 10, 2006 Cara, muito boa essa sua modificação!!!!Pode ter certeza q eu irei usar e muito...Mas para o que preciso no momento é do esquima em barrinha...Se alguem puder me ajudar!!! Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Maio 10, 2006 Tive alguns problemas aqui com o onEnterFrame e então troquei para o setInterval. O onEnterFrame estava pegando os bytes carregados do MC alvo que estava na tela, antes de começar a carregar o próximo no lugar dele. Com o set interval, coloquei o tempo de refresh em 10ms, o que resolveu. Hoje eu tava inspirado!!! Oia o código ai, pronto para um CTRL + C e CTRL + V... heheheheeh (mude o que precisar para a sua aplicação.) function criaretangulo(nome:String, posix:Number, posiy:Number, larg:Number, alt:Number, cor:Number) { this.createEmptyMovieClip(nome, this.getNextHighestDepth()); eval(nome).beginFill(cor); eval(nome).lineTo(eval(nome)._x+larg, eval(nome)._y); eval(nome).lineTo(eval(nome)._x+larg, eval(nome)._y+alt); eval(nome).lineTo(eval(nome)._x, eval(nome)._y+alt); eval(nome).lineTo(eval(nome)._x, eval(nome)._y); eval(nome).endFill(); eval(nome)._x = posix; eval(nome)._y = posiy; return eval(nome);}function carrega(imagem, alvo) { loadMovie(imagem, alvo); fu = criaretangulo("fundo", 80, 80, 200, 10, 0x000000);//coloca cores em formato hexa. fr = criaretangulo("frente", 80, 80, 200, 10, 0xFF0000);//parametros: x, y, largura, altura e cor id = setInterval(loading,10,alvo);}function loading(alvo) { c = alvo.getBytesLoaded(); t = alvo.getBytesTotal(); //trace(c/t*100); fr._xscale = int(c/t*100); if (c == t && c>10) { clearInterval(id); removeMovieClip("fu"); removeMovieClip("fr"); }}carrega("teste.swf",alvo); Nota: o MC alvo deve existir no palco. Falows Compartilhar este post Link para o post Compartilhar em outros sites
Caruzo 0 Denunciar post Postado Maio 11, 2006 Valeu amigo, era isso mesmo q eu queria!!!vou fazer algumas modificações ainda, mas ja me ajudou muito... obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
andrea cerqueira 0 Denunciar post Postado Julho 3, 2006 function carrega(imagem, alvo) { loadMovie(imagem, alvo); this.createTextField("my_txt", this.getNextHighestDepth(), alvo._x+10, alvo._y+10, 300, 100); //parametros: nome, nivel, _x, _y, largura, altura my_txt.type = "dynamic"; my_txt.variable = "teste"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0x000000; //cor em formato hexa my_txt.setTextFormat(my_fmt); onEnterFrame = function () { c = alvo.getBytesLoaded(); t = alvo.getBytesTotal(); teste = Math.round(c/t*100)+"%"; if (c == t && c>10) { delete onEnterFrame; my_txt.removeTextField(); } };} Ludman eu tentei adaptar esse seu script a minha galeria de fotos mas não fui feliz, será que você pode me ajudar? Meu script é esse: galeriaFlash = new XML();galeriaFlash.ignoreWhite = true;galeriaFlash.onLoad = function(success) { //portfolioTag = this.firstChild; numImagens = this.firstChild.childNodes.length; espaco = 50; for (i=0; i<numImagens; i++) { this.criarImagem = this.firstChild.childNodes[i]; this.criarThumbs = thumbnails.createEmptyMovieClip("thumbnail"+i, i); this.criarThumbs._y = i*espaco; this.criarCarregar = this.criarThumbs.createEmptyMovieClip("thumbnail_image", 0); this.criarCarregar.loadMovie(this.criarImagem.attributes.thumbnail); this.criarThumbs.titulo = this.criarImagem.attributes.titulo; this.criarThumbs.imagemG = this.criarImagem.attributes.imagemG; this.criarThumbs.onRelease = function() { carregaImagem.loadMovie(this.imagemG); titulo_txt.text = this.titulo; }; }};galeriaFlash.load("galeria.xml"); Compartilhar este post Link para o post Compartilhar em outros sites
ludoman 0 Denunciar post Postado Julho 4, 2006 Vê se isso resolve: function carrega(imagem, alvo) { loadMovie(imagem, alvo); //parametros: nome, nivel, _x, _y, largura, altura this.createTextField("my_txt", this.getNextHighestDepth(), alvo._x+400, alvo._y+130, 345, 230); my_txt.type = "dynamic"; my_txt.variable = "teste"; var my_fmt:TextFormat = new TextFormat(); //cor em formato hexa my_fmt.color = 0xCC0000; my_txt.setTextFormat(my_fmt); onEnterFrame = function () { c = alvo.getBytesLoaded(); t = alvo.getBytesTotal(); teste = Math.round(c/t*100)+"%"; if (c == t && c>10) { delete onEnterFrame; my_txt.removeTextField(); } };}galeriaFlash = new XML();galeriaFlash.ignoreWhite = true;galeriaFlash.onLoad = function(success) { //portfolioTag = this.firstChild; numImagens = this.firstChild.childNodes.length; espaco = 50; for (i=0; i<numImagens; i++) { this.criarImagem = this.firstChild.childNodes[i]; this.criarThumbs = thumbnails.createEmptyMovieClip("thumbnail"+i, i); this.criarThumbs._y = i*espaco; this.criarCarregar = this.criarThumbs.createEmptyMovieClip("thumbnail_image", 0); this.criarCarregar.loadMovie(this.criarImagem.attributes.thumbnail); this.criarThumbs.titulo = this.criarImagem.attributes.titulo; this.criarThumbs.imagemG = this.criarImagem.attributes.imagemG; this.criarThumbs.onRelease = function() { //carregaImagem.loadMovie(this.imagemG); carrega(this.imagemG,carregaImagem); titulo_txt.text = this.titulo; }; }};galeriaFlash.load("galeria.xml"); Vê se é isso.. não testei... Falows Compartilhar este post Link para o post Compartilhar em outros sites
andrea cerqueira 0 Denunciar post Postado Julho 4, 2006 Não fuuncionou, na verdade nem deu erro, ficou tudo igual. :blink: Compartilhar este post Link para o post Compartilhar em outros sites
andrea cerqueira 0 Denunciar post Postado Julho 5, 2006 Consegui com esse código que achei na net e alterei :D function iniciar_carregador(imagem_a_carregar) { loadMovie(imagem_a_carregar, "carrega_imagem"); _root.onEnterFrame = function() { info_campo._visible = true; info_carregar = carrega_imagem.getBytesLoaded(); info_total = carrega_imagem.getBytesTotal(); porcentagem = Math.floor(info_carregar/info_total*100); info_campo.text = porcentagem+ "%"; if (porcentagem>=100) { //delete this.onEnterFrame; //info_campo.removeTextField(); info_campo._visible = false; } };} Compartilhar este post Link para o post Compartilhar em outros sites
Stênio Francisco 0 Denunciar post Postado Agosto 22, 2006 Meu problema é com a fonte... O loadin ele faz em preto, só aparece a porcentagem em branco qndo eu clico mais uma vez na foto já conluido loading. olha como eu fiz: function carrega(imagem, alvo) { loadMovie(imagem, alvo); this.createTextField("my_txt", this.getNextHighestDepth(), alvo._x+10, alvo._y+10, 300, 100); //parametros: nome, nivel, _x, _y, largura, altura my_txt.type = "dynamic"; my_txt.variable = "teste"; var my_fmt:TextFormat = new TextFormat(); my_fmt.color = 0xffffff; //cor em formato hexa my_txt.setTextFormat(my_fmt); onEnterFrame = function () { c = alvo.getBytesLoaded(); t = alvo.getBytesTotal(); teste = Math.round(c/t*100)+"%"; if (c == t && c>10) { delete onEnterFrame; my_txt.removeTextField(); } };} Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 27, 2006 e ae gelara beleza.. desculpe reviver esse topico, mas estou precisando disso q naum estou conseguindo usar... tb preciso q ao clicar no botao para carregar a imagem aparece pelo menos uma % indicando q esta sendo carregado algo.. p q o usuario naum fique boiando ou dando mil clics ..rs o meu site é de uma empresa de malhas.. entao to fazendo um esquema q é assim ó EXEMPLO ...... entao o usuario ira passar o mouse no tecido(terá cinco cada tela) ai em cada tecido tera a opcao de colocar a roupda no manequim 1 ou 2... entao preciso q apareca algo indicando q esta sendo carregado... uma barra.... ou uma %.... mãssss agora vem o q eu acho q esta sendo o problema.. esse tecido esta sendo carregado dentro de um MC vaziue q esta dentro de um MC - (q é o manequim) ....... Ex.: _root.manequim01.tecido tenderam? entao eu to carregando assim: on(release){ _root.bela_noite_02.tecido.loadMovie("imagens/bela_noite_01.jpg"); } assim ta funfando. como vcs podem conferir no link acima...... entao preciso de una barrinha.... to tendando usar esses AS acima mas naum estou tendo sucesso....... se alguem puder me ajudar eu agradeco até la vou tentar aki.. OBS: estou colocando esses codigos no botoes abracos e obrigado desde ja Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Novembro 27, 2006 Tentou acessar assim? carrega("imagens/bela_noite_01.jpg", _root.bela_noite_02.tecido); Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 27, 2006 Tentou acessar assim? carrega("imagens/bela_noite_01.jpg", _root.bela_noite_02.tecido); olá carneirinho beleza meu... acho q tentei tipo... fiz assim no final do codigo... ficando assim: on(release){ // _root.bela_noite_01.tecido.loadMovie("imagens/bela_noite_01.jpg"); <<==== assim funfa function criaretangulo(nome:String, posix:Number, posiy:Number, larg:Number, alt:Number, cor:Number) { this.createEmptyMovieClip(nome, this.getNextHighestDepth()); eval(nome).beginFill(cor); eval(nome).lineTo(eval(nome)._x+larg, eval(nome)._y); eval(nome).lineTo(eval(nome)._x+larg, eval(nome)._y+alt); eval(nome).lineTo(eval(nome)._x, eval(nome)._y+alt); eval(nome).lineTo(eval(nome)._x, eval(nome)._y); eval(nome).endFill(); eval(nome)._x = posix; eval(nome)._y = posiy; return eval(nome); } function carrega(imagem, _root.bela_noite_01.tecido) { loadMovie(imagem, _root.bela_noite_01.tecido); fu = criaretangulo("fundo", 80, 80, 200, 10, 0x000000);//coloca cores em formato hexa. fr = criaretangulo("frente", 80, 80, 200, 10, 0xFF0000);//parametros: x, y, largura, altura e cor id = setInterval(loading,10,_root.bela_noite_01.tecido); } function loading(_root.bela_noite_01.tecido) { c = _root.bela_noite_01.tecido.getBytesLoaded(); t = _root.bela_noite_01.tecido.getBytesTotal(); //trace(c/t*100); fr._xscale = int(c/t*100); if (c == t && c>10) { clearInterval(id); removeMovieClip("fu"); removeMovieClip("fr"); } } carrega("imagens/bela_noite_01.jpg", _root.bela_noite_01.tecido); // eu ja tinha feito assim, mas da uns erros qdo dou CTRL Enter } foi isso ae q tu pergunto? :blink: se eu falei baboseira desculpe... preu aprender AS é na mara.... tenho tremenda dificuldade com isso... sempre q preciso de algo busco em foruns, apostilas... etc.... Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Novembro 27, 2006 Não era exatamente isso, porque você alterou a função, tem como você jogar seu fla num rapidshare da vida e postar ai pra eu dar uma olhada? Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 27, 2006 Não era exatamente isso, porque você alterou a função, tem como você jogar seu fla num rapidshare da vida e postar ai pra eu dar uma olhada?olha o fla ta nesse end FLA e eu to fazendo errado naum to? colocando todo esse codigo no botao? naum seria as funcoes no frame o carrega("imagens....."); no botao? obrigado msm pela atencao ae.... EDITADO 13:30 carneirinho, pode esquecer tudo isso..... funciono.... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif aprendi a usar..... eu coloquei as funcoes num frame e o carrega no botao... desculpe msm minha ignorancia......rs o que eu estava fazendo errado era q eu estava mudando o "termo" alvo pelo end do mc q teria de ser carregado... eu naum estava entendo essa parte... eu achei q o ALVO era o local q era pra ser carregado..... ai coloquei o codigo do jeitim e ta ai (acredite, naum tinha testado assim).......... bom muito obrigado pela attencao....... veja como ta funcionando...... FUNCIONANDO agora acredito q naum terei dificuldades em alterar conforme minha necessidade..... só tenho de mudar cor da barra e a posicao dela mais uma vez obrigado... e qdo o tralho estiver pronto posto ele para vcs darem uma olhada ok..... abracos http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 27, 2006 carneirinho... como é de prache apareceu um problema... q é o seguinte... se eu clico no botao pra carregar a imagem no manequim 01 e enquanto esta crregando ele eu clico pra carregar a imagem no manequim 2... ele cancela o primeiro... e a barra de load q ele cria.... cria toda deformada ...... eu fiz assim...... criei 2 frames um com a funcao pra carregar com o botao 01 e no outro frame outras funcoes pra carregar com o botato 2.... coisa q naum deu certo..... o pq q eu fiz isso? rs.... simples.. pq eu quero q ao clicar no botao 1 ele crie a barra em cima do manequim 01 e ao clicar no botao 2 ele crie a barra em cima do manequim 02.... como eu naum consegui fazer isso usando um IF.... resolvi criar 2 funcoes par ver se dava certo..... até deu..... mas se você repetir ou clicar em outro enquanto um carrega da erro..... qual outro caminho q eu posso tentar? o fla atualizado você baixa AKI Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 27, 2006 INFORMACAO ATUALIZADA seguinte. to quaaaase conseguindo...... agora naum da mais erro qdo um esta sendo carregado e você clica no outro..... o erro continua se você clicar para carregar a imagem e quanto esta carregando você clicar novamente no msm botao.. ele comeca a carregar novamente..... mas com a barra totalmente deformada....... ai você ergunta... mas quem q vai clicar novamente no botao se ja ta carregando.... como sabemos...... cada um com sua loucura né.... entao..... como eu destivo o botao enquanto carrega e depois vorta fica ativo qdo ja estiver carregado............. bom eu vou continuar aki..... vendo s econsigo isso..... acho q dai meus problemas acabam...... abraco e té mais.... :D Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 27, 2006 ATUALIZACAO MEGA SUER ULTRA PLUS MEGAZORD ADVANCE http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/clap.gif A/C de todos q tao lendo....rs conseguiiiiii http://forum.imasters.com.br/public/style_emoticons/default/clap.gif .... agora enquanto naum terminar de carregar a imagem.. o botao fica desatvado..... cabo de carrega o danadinho vorta ativo ieeeeeeeeeebaaaa!!!!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif seguinte..... eu fiz assim ó: function criaretangulo(nome:String, posix:Number, posiy:Number, larg:Number, alt:Number, cor:Number) { this.createEmptyMovieClip(nome, this.getNextHighestDepth()); eval(nome).beginFill(cor); eval(nome).lineTo(eval(nome)._x+larg, eval(nome)._y); eval(nome).lineTo(eval(nome)._x+larg, eval(nome)._y+alt); eval(nome).lineTo(eval(nome)._x, eval(nome)._y+alt); eval(nome).lineTo(eval(nome)._x, eval(nome)._y); eval(nome).endFill(); eval(nome)._x = posix; eval(nome)._y = posiy; return eval(nome);}function carrega(imagem, alvo) { loadMovie(imagem, alvo); fu = criaretangulo("fundo", -364, 145, 100, 7, 0x901E78);//coloca cores em formato hexa. fr = criaretangulo("frente", -364, 145, 100, 7, 0xff9999);//parametros: x, y, largura, altura e cor id = setInterval(loading,10,alvo);}function loading(alvo) { bt1.enabled = false <<=========AQUI DESATIVO c = alvo.getBytesLoaded(); t = alvo.getBytesTotal(); //trace(c/t*100); fr._xscale = int(c/t*100); if (c == t && c>10) { clearInterval(id); removeMovieClip("fu"); removeMovieClip("fr"); bt1.enabled = true <<========= E AQUI ATIVO }}tah! tudo bem... descobri a america.... mai descobri!!!! hihihihihi entao cada botao tem 2 frames.... um com esse codigo acima e outro com o msm codigo mas com mudancos nos nomes ficando assim: function criaretangulo2(nome2:String, posix2:Number, posiy2:Number, larg2:Number, alt2:Number, cor2:Number) { this.createEmptyMovieClip(nome2, this.getNextHighestDepth()); eval(nome2).beginFill(cor2); eval(nome2).lineTo(eval(nome2)._x+larg2, eval(nome2)._y); eval(nome2).lineTo(eval(nome2)._x+larg2, eval(nome2)._y+alt2); eval(nome2).lineTo(eval(nome2)._x, eval(nome2)._y+alt2); eval(nome2).lineTo(eval(nome2)._x, eval(nome2)._y); eval(nome2).endFill(); eval(nome2)._x = posix2; eval(nome2)._y = posiy2; return eval(nome2);}function carrega2(imagem2, alvo2) { loadMovie(imagem2, alvo2); fu2 = criaretangulo2("fundo2", 127, 145, 100, 7, 0x901E78);//coloca cores em formato hexa. fr2 = criaretangulo2("frente2", 127, 145, 100, 7, 0xff9999);//parametros: x, y, largura, altura e cor id2 = setInterval(loading2,10,alvo2);}function loading2(alvo2) { bt2.enabled = false c2 = alvo2.getBytesLoaded(); t2 = alvo2.getBytesTotal(); //trace(c/t*100); fr2._xscale = int(c2/t*100); if (c2 == t2 && c2>10) { clearInterval(id2); removeMovieClip("fu2"); removeMovieClip("fr2"); bt2.enabled = true }}perceberam a diferenca né... naum sei se é a maneira mais facil acredito q naum.... deve ter outra mais facil... mas funfo do jeitim ki eu quero......rs valew carneirinho pelo atencao ae... ah. no botao fico assim: on(release){carrega("imagens/bela_noite_01.jpg", _root.bela_noite_01.tecido);} on(release){ carrega2("imagens/bela_noite_01.jpg", _root.bela_noite_02.tecido);}abracoooo t+ http://forum.imasters.com.br/public/style_emoticons/default/clap.gif OBS.: porem vale lembrar q o botao desativado é o botao do tecido escolhido e naum todos os botoes.... vou ver aki se consigo mais esse passo EDITADO 16:20 naum sei onde ta o erro..... mas a barra do manequim aparece crescendo se você clicar tb no botao do manequim 1 ou na segunda vez q você clica no manequim 2 após ele ja ter cido carregado.... afff.... nunca acabam os erros :( CONFIRAM LINK ARQUIVO FLA Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 28, 2006 e ae galera.. to com um pequeno incomodo ainda nesse trabalho.... a barra de load do botao 2 só aparece se você clicar nele e no botao 1 do msm tecido..... ai depois q carregar uma vez, q a barra aparecer uma vez, ai você pode clicar nela direto q ela aprece normal... alguem sabe o pq!?valew :) Compartilhar este post Link para o post Compartilhar em outros sites
Samurai Pelado 0 Denunciar post Postado Novembro 29, 2006 ninguem tem ideia naum? http://forum.imasters.com.br/public/style_emoticons/default/upset.gif rs Compartilhar este post Link para o post Compartilhar em outros sites