mc2010 0 Denunciar post Postado Setembro 3, 2010 boas eu peguei o código seguinte para gerar uma galeria com dados vindos do xml. Aqui tudo bem a questão é isso vai duplicar o movie clip no numero que esta no xml, tb até aqui tudo óptimo, mas eu queria criar um rollover na imagem se esta no xml tiver um indicação no campo estado como activo, se não tiver qualquer indicação não faz rollover. ja tentei com if e não estou a conseguir....se alguém me poder ajudar obrigado segue o código import com.greensock.* //contentor para as imagens conteudoAr.setMask (maskAR) //Crio os MovieClips necessários var foto:MovieClip = duplicar(); var duplicate:MovieClip = new MovieClip(); var mcl:MovieClipLoader = new MovieClipLoader(); //Monto minhas Arrays var imagens:Array = new Array(); var estado:Array = new Array(); var promo:Array = new Array(); //Meus Numeros var max:Number = 0; var total:Number = 0; var p:Number = new Number(); var inic:Number = 0; var page:Number = 1; var newX:Number; // valores var alvoX:Number = alvo._x; var alvoY:Number = alvo._y; var alvoWidth:Number = alvo._width; var alvoHeight:Number = alvo._height; //Crio os clips a serem carregados var alvo:MovieClip = _root.createEmptyMovieClip("alvo",-16384); // carregar XML var xml:XML = new XML(); xml.ignoreWhite = true; xml.load("promoAR.xml"); xml.onLoad = function(ok){ if(ok){ var cn = xml.firstChild.childNodes; total = cn.length; if(total > 10) max = 0;for(i = 0; i < total; i++){ imagens[i] = cn[i].attributes.imagens; estado[i] =cn[i].attributes.estado; promo [i]= cn[i].attributes.promo; } inicia(); }else { trace('error'); } } function inicia(){ for(var i:Number = 1; i <= 10; i++){ newX = i * (170); duplicate = foto.duplicateMovieClip("foto-"+i, i, {_x:newX}); mcl.loadClip(imagens[inic], duplicate); inic++; } } function duplicar():MovieClip { var mc:MovieClip = _root.createEmptyMovieClip("foto", this.getNextHighestDepth()); mc._x =0; mc._y = 90; return mc; } function onLoadInit(duplicate){ scala(duplicate) if(duplicate._width < 50){ duplicate._x = duplicate._x + ((50 - duplicate._width)/2); } redimensionar(alvo); alvo._x = alvoX + (alvoWidth/2) - (alvo._width/2); alvo._y = alvoY + (alvoHeight/2) - (alvo._height/2); tamanho(duplicate); if (estado=="activo"){ duplicate.onRollOver = function (){ TweenLite.to (this,0.5,{_alpha:50}) } duplicate.onRollOut = function (){ TweenLite.to (this,0.5,{_alpha:100}) } } } /*duplicate.onPress = function(){ /*var string = targetPath(duplicate).split("-"); p = string[1]; p = p - 1; if(max >= 10){ p = max+p; } var pic:String = imagens[p].toString(); mcl.loadClip(pic, conteudoAr); } */ } //adiciono o listener mcl.addListener(this); ois a questão está aqui if (estado=="activo"){ duplicate.onRollOver = function (){ TweenLite.to (this,0.5,{_alpha:50}) } duplicate.onRollOut = function (){ TweenLite.to (this,0.5,{_alpha:100}) } } se me arranjarem maneira de isto funcionar, era optimo obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 7, 2010 Faz assim portuga :P duplicate = foto.duplicateMovieClip("foto-"+i, i, {_x:newX}); duplicate.estado = estado[i]; Ai na hora do if você faz assim: if(duplicate.estado == "ativo") Abraços irmãozinho ˆˆ Compartilhar este post Link para o post Compartilhar em outros sites
mc2010 0 Denunciar post Postado Setembro 8, 2010 meu caro amigo tentei fazer como disseste mas não consegui...mas depois de algum tempo perdido conseguir resolver o problema desta forma: var string = targetPath(duplicate).split("-"); p = string[1]; p = p - 1; if (estado[p].toString()=="activo"){ duplicate.onRollOver = function (){ trace(estado[p].toString()) TweenLite.to (this,0.5,{_alpha:50}) } duplicate.onRollOut = function (){ TweenLite.to (this,0.5,{_alpha:100}) } } } e pronto agora já faz o efeito consoante o activo.....mais nada....olha podes fechar este post obrigado mais uma vez Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Setembro 8, 2010 Tua saida tbm foi boa dando um id pro MC Assim você pode recuperar a id com split Abraços Compartilhar este post Link para o post Compartilhar em outros sites