inx 4 Denunciar post Postado Setembro 1, 2009 Olá, eu aqui de novo... To bolando uma espécie de galeria, tudo ocorria bem até eu ter a idéia idiota de fazer com que os valores selecionados na galeria abrissem em um outro mc no _root. quando declaro a variavel como global ele manda sómente o valor do último nó para a capa. =S.. e quando não declaro ele manda undefined. =S No AS está o comentário, peço que deêm uma olhada. destaquei.duplicateMovieClip('destaquei'+i,_root.destaques.getNextHighestDepth(0)); _root.destaques['destaquei'+i]._x += i*220; _root.destaques['destaquei'+i].titulod.text = this.firstChild.childNodes[i].childNodes[0].childNodes[0]; //Declaro as variaveis var media = this.firstChild.childNodes[i].childNodes[1].childNodes[0]; var thumb1 = this.firstChild.childNodes[i].childNodes[3].childNodes[0]; var thumb2 = this.firstChild.childNodes[i].childNodes[4].childNodes[0]; var thumb3 = this.firstChild.childNodes[i].childNodes[5].childNodes[0]; var foto1 = this.firstChild.childNodes[i].childNodes[6].childNodes[0]; var foto2 = this.firstChild.childNodes[i].childNodes[7].childNodes[0]; var foto2 = this.firstChild.childNodes[i].childNodes[8].childNodes[0]; //busco as imagens pekenas e com loadmovie simples e linko o botão _root.destaques['destaquei'+i].alvo.loadMovie(media); _root.destaques['destaquei'+i].link = _root.destaques['destaquei'+i]; _root.destaques['destaquei'+i].onRelease = function() { Tweener.addTween(_root.destaques,{_y:Stage.height*2, _alpha:10, time:3, transition:"Bounce"}); Tweener.addTween(_root.fundodestaques,{_y:280, _height:Stage.height, time:1, transition:"easeOutElastic"}); _root.vazio.unloadMovie(); SWFAddress.setValue("Destaques"); Tweener.addTween(_root.capad,{_alpha:100, time:0.5}); //AQUI TA O ERRO - JÁ DECLAREI COMO GLOBAL, MAS NÃO FUNCIONA. =s.. _root.capad.carregacapa.loadMovie(foto1); //QUANDO DECLARO COMO GLOBAL ELE LISTA A ÚLTIMA, QUANDO NAO DECLARO ELE DA UNDEFINED trace(foto1); }; _root.destaques['destaquei'+i].onRollOver = function() { this.link._alpha = 75; }; _root.destaques['destaquei'+i].onRollOut = function() { this.link._alpha = 100; }; } destaquei.unloadMovie(); };---Alguém me da um help. =D *Usei letras em caixa alta nos comment do as para uma melhro vizualização. Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Setembro 1, 2009 Utilize um for para carregar o conteúdo do seu XML e, dentro dele, crie um MC e atribua a ele os valores do XML. Este Mc então puxará um botão linkado na lib. Esse botão pegará os valores do MC e, ao clic, chama uma função para carregar as imagens. Exemplo rápido for(i = 0; i< xml.length; i++){ var mc:MovieClip = this.createEmptyMovieClip("mc"+i, i); mc.attachMovie("img_botao_mc_na_lib", "mc"+i, i); mc.media = m = o_no_de_media_no_xml; mc.thumb = o_no_de_thumb_no_xml; mc.foto = o_no_de_foto_no_xml; mc._x = posicaoX; mc._y = posicaoY; } // img_botao_mc_na_lib -> é o botao carregado pro palco // ações dentro dele var media = _parent.media; var thumb = _parent.thumb; var foto = _parent.foto; this.onRelease = function(){ _root.funcaoAbreFoto(foto); } // aqui também você coloca o efeito do rollover e rollout Esta é a idéia básica do que você pode fazer. abs Compartilhar este post Link para o post Compartilhar em outros sites
blockmonork 1 Denunciar post Postado Setembro 1, 2009 Olá, eu aqui de novo... To bolando uma espécie de galeria, tudo ocorria bem até eu ter a idéia idiota de fazer com que os valores selecionados na galeria abrissem em um outro mc no _root. quando declaro a variavel como global ele manda sómente o valor do último nó para a capa. =S.. e quando não declaro ele manda undefined. =S No AS está o comentário, peço que deêm uma olhada. destaquei.duplicateMovieClip('destaquei'+i,_root.destaques.getNextHighestDepth(0)); _root.destaques['destaquei'+i]._x += i*220; _root.destaques['destaquei'+i].titulod.text = this.firstChild.childNodes[i].childNodes[0].childNodes[0]; //Declaro as variaveis var media = this.firstChild.childNodes[i].childNodes[1].childNodes[0]; var thumb1 = this.firstChild.childNodes[i].childNodes[3].childNodes[0]; var thumb2 = this.firstChild.childNodes[i].childNodes[4].childNodes[0]; var thumb3 = this.firstChild.childNodes[i].childNodes[5].childNodes[0]; var foto1 = this.firstChild.childNodes[i].childNodes[6].childNodes[0]; var foto2 = this.firstChild.childNodes[i].childNodes[7].childNodes[0]; var foto2 = this.firstChild.childNodes[i].childNodes[8].childNodes[0]; //busco as imagens pekenas e com loadmovie simples e linko o botão _root.destaques['destaquei'+i].alvo.loadMovie(media); _root.destaques['destaquei'+i].link = _root.destaques['destaquei'+i]; _root.destaques['destaquei'+i].onRelease = function() { Tweener.addTween(_root.destaques,{_y:Stage.height*2, _alpha:10, time:3, transition:"Bounce"}); Tweener.addTween(_root.fundodestaques,{_y:280, _height:Stage.height, time:1, transition:"easeOutElastic"}); _root.vazio.unloadMovie(); SWFAddress.setValue("Destaques"); Tweener.addTween(_root.capad,{_alpha:100, time:0.5}); //AQUI TA O ERRO - JÁ DECLAREI COMO GLOBAL, MAS NÃO FUNCIONA. =s.. _root.capad.carregacapa.loadMovie(foto1); //QUANDO DECLARO COMO GLOBAL ELE LISTA A ÚLTIMA, QUANDO NAO DECLARO ELE DA UNDEFINED trace(foto1); }; _root.destaques['destaquei'+i].onRollOver = function() { this.link._alpha = 75; }; _root.destaques['destaquei'+i].onRollOut = function() { this.link._alpha = 100; }; } destaquei.unloadMovie(); };---Alguém me da um help. =D *Usei letras em caixa alta nos comment do as para uma melhro vizualização. Aqui vai uma idéia simples de como resolver isto: for(i = 0; i< xml.length; i++){ var mc:MovieClip = this.createEmptyMovieClip("mc"+i, i); mc.attachMovie("img_botao_mc_na_lib", "mc"+i, i); mc.media = valor do no do xml; mc.thumb = valor do no do xml; mc.foto = valor do no do xml; mc._x = posicaoX; mc._y = posicaoY; } function funcaoAbreFoto(aquivo){ aqui_mc.loadMovie(arquivo); } // img_botao_mc_na_lib -> é o botao carregado pro palco var media = _parent.media; var thumb = _parent.thumb; var foto = _parent.foto; this.onRelease = function(){ _root.funcaoAbreFoto(foto); } // as ações do rollover e rollout você coloca aqui também Compartilhar este post Link para o post Compartilhar em outros sites
inx 4 Denunciar post Postado Setembro 2, 2009 Brow... valew.. testei sua idéia e fungo e descobri outro jeito também.. o duplicatedMovieclip trabalha com id´s.. _root.destaques['destaquei'+i].id2 = this.firstChild.childNodes[i].childNodes[7].childNodes[0]; depois é só xamá-lo.. Valew ^^ Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 2, 2009 Isso ai :) Usou o principio de objeto :) Ou poderia ter criado um array para tal ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
inx 4 Denunciar post Postado Setembro 3, 2009 Vlw Berseck.. Mais uma coisa me preocupa, vocÊ não ve esse tipo de explicação em lugar nenhum... Nem no dicionário AS2 que tenho aqui... Descobri sózinho... =S Outra coisa... Resolvido.. Abçs! Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 3, 2009 Na verdade o help do flash ensina fazer isso... Mas só se você procurar por coisas muito especificas... e dar a sorte de ter um exemplo... pq nem sempre tem exemplo no help. Quando você tem uma variavel que recebe varios nomes... automaticamente essa variavel virou um objeto... que contem aquelas informações Ai um objeto para se recuperar os dados é sempre objeto['nome'+i] pois normalmente quando colocamos varios avlores a um objeto é atrelado a um for.... Mas você pode também somar nomes... ai complica mais ainda ficando objeto['nome'+'outro'] e ai começa a complicar a coisa. Mas o principio base é esse do this['mc'+i] que tanto o MX Studio usa ;) Abraços Compartilhar este post Link para o post Compartilhar em outros sites
inx 4 Denunciar post Postado Setembro 4, 2009 HUm.. Valew.. Vo estuda mais.. rs ^^ Compartilhar este post Link para o post Compartilhar em outros sites