dmorsoleto 0 Denunciar post Postado Abril 9, 2008 fala galera... meu problema é o seguinte... tenho uma galeria em flash que esta sendo alimentada por um xml... Dentro desse xml existem 3 categorias de galeria. Bom ela carrega a primeira categoria normalmente, meu problema é quando clico para ele ir para a categoria seguinte. Ela carrega soh que nao tira os movies clips duplicados da primeira categoria... Sei que tenho que crir uma funcao que ele descarregue esses movies clips, mas nao to conseguindo... Espero que tenham entendido...Abaixo segue meu codigo... A linha vermelha é onde esta duplicando os movies clips... stop(); System.useCodepage = true; btfeminino.enabled = false; gallery = new XML(); gallery.load("galeriacolecoes.xml"); gallery.ignoreWhite = true; gallery.onLoad = function (){ parseXml(); }; var b:Number = 2; var contfotos:Number = 0; var ultimothumb:MovieClip; var atual:Number; var arraythumbs:Array; var retira:Boolean; retira = false; onMouseMove = function(){ verifica(); } function verifica(){ //se ele for foto vertical ele vai para direita if(_root.img._width == 356){ _root.img._x = _root.mc_foto._width/2-120; }else{ _root.img._x = _root.mc_foto._x; } } function parseXml(){ galleryTitle = gallery.childNodes[0].attributes.title; thumbDir = gallery.childNodes[0].attributes.thumbDir; imageDir =gallery.childNodes[0].attributes.imageDir; viewRandom = gallery.childNodes[0].attributes.random; //comecar com esse texto _root.descricaoimg.desc = gallery.firstChild.childNodes[2].childNodes[0].childNodes[5].childNodes; _root.descricaoimg.desc2 = gallery.firstChild.childNodes[2].childNodes[0].childNodes[6].childNodes; for (i=0; i<gallery.firstChild.childNodes.childNodes.length; i++){ duplicateMovieClip("item_mc","item_mc"+i,i); thumbs = _root.container["item_mc"+i]; thumbs._x += (thumbs._width+10)*i; var mcl:MovieClipLoader = new MovieClipLoader(); mcl.loadClip(thumbDir+gallery.firstChild.childNodes.childNodes.childNodes[ 3].childNodes,thumbs.peq); thumbs.atual = i; arraythumbs = thumbs; thumbs.onPress = function(){ ultimothumb.brightnessTo(0,1,"easeout"); this.brightnessTo(-50,1,"easeout"); _root.img.loadMovie(imageDir+gallery.firstChild.childNodes.childNodes[this.at ual].childNodes[4].childNodes); _root.descricaoimg.desc = gallery.firstChild.childNodes.childNodes[this.atual].childNodes[5].childNodes ; _root.descricaoimg.desc2 = gallery.firstChild.childNodes.childNodes[this.atual].childNodes[6].childNodes ; } thumbs.onRelease = function(){ ultimothumb = this; verifica(); //habilitando os bts _root.img.hit.enabled = true; _root.img.abaproxima.enabled = true; _root.img.abaanterior.enabled = true; //tornando visiveis as abas _root.img.abaproxima._visible = true; _root.img.abaanterior._visible = true; if(this.atual<1){ _root.abaanterior._visible = false; } if(this.atual>=1){ _root.abaanterior._visible = true; } if(this.atual+1==gallery.firstChild.childNodes.childNodes.length){ _root.abaproxima._visible = false; }else{ _root.abaproxima._visible = true; } } //ajustando o fundo do item para o tamanho da foto thumbs.fundoitem._width = 20; _root.abaproxima.onPress = function(){ //tornando visiveis as abas _root.abaanterior._visible = true; contfotos += 1; _root.img.loadMovie(imageDir+gallery.firstChild.childNodes.childNodes[contfot os].childNodes[4].childNodes); if(contfotos>=i-1){ _root.abaproxima._visible = false; } }//bt abapromxima //bt abaanterior _root.abaanterior.onPress = function(){ //tornando visiveis as abas _root.abaproxima._visible = true; contfotos -= 1; _root.img.loadMovie(imageDir+gallery.firstChild.childNodes.childNodes[contfot os].childNodes[4].childNodes); if(contfotos==0){ this._visible = false; } if(contfotos>=1){ this._visible = true; } }//bt abaanterior }//for } // End of the function // criando as ações para a barra de rolagem _root.rolagem.drag.onPress = function():Void{ var xmin = this._y; var xmax = this._parent.fundo._width - this._width; var ymin = 0; var ymax = this._y; this.startDrag(false,xmin,ymin,xmax,ymax); this.onRelease = this.onReleaseOutside = function():Void{ stopDrag(); delete this.onMouseMove(); } this.onEnterFrame = function():Void{ _root.container._x += (-Math.round((this._x / ymax) * (altura - _root.rolagem._width)) - _root.container._x)/3; } } //bts troca galeria btshoes.onPress = function(){ b=0; ultimothumb.brightnessTo(0,1,"easeout"); removeMovieClip(thumbs); parseXml(); this.enabled = false; _root.abagaleriaatual.galeriaatual = "SHOES"; //colocando a posicao de cada bt btfeminino._x = 433.1; btshoes._x = 71.7; btjeanswear._x = 623.1; //ativando outros bts btfeminino.enabled = true; btjeanswear.enabled = true; } btfeminino.onPress = function(){ b = 2; ultimothumb.brightnessTo(0,1,"easeout"); removeMovieClip(thumbs); parseXml(); this.enabled = false; _root.abagaleriaatual.galeriaatual = "FEMININO"; //colocando a posicao de cada bt btfeminino._x = 73; btshoes._x = 453.6; btjeanswear._x = 623.1; //ativando outros bts btshoes.enabled = true; btjeanswear.enabled = true; } btjeanswear.onPress = function(){ b = 1; ultimothumb.brightnessTo(0,1,"easeout"); removeMovieClip(thumbs); parseXml(); this.enabled = false; _root.abagaleriaatual.galeriaatual = "WEAR"; //colocando a posicao de cada bt btfeminino._x = 635.5; btshoes._x = 453.6; btjeanswear._x = 72.2; //ativando outros bts btshoes.enabled = true; btfeminino.enabled = true; } Compartilhar este post Link para o post Compartilhar em outros sites
Gabriel Cunha 0 Denunciar post Postado Abril 9, 2008 cara, aqui você faz um loop para duplicar o moveclip: CODE for (i=0; i<gallery.firstChild.childNodes.childNodes.length; i++){ duplicateMovieClip("item_mc","item_mc"+i,i); thumbs = _root.container["item_mc"+i]; thumbs._x += (thumbs._width+10)*i; qnd você clica no botão para carregar a outra galeria, você precisa usar a msm lógica (um loop), porém usando o "removeMovieClip" no lugar do "duplicateMovieClip"! então antes de carregar as novas thumbs, precisa passar por este loop que remove os mcs do palco... espero ter ajudado, abraços... Gabriel Cunha Compartilhar este post Link para o post Compartilhar em outros sites