neoHaT 0 Denunciar post Postado Abril 25, 2009 Olá a todos, estou montando um sistema de noticias que segui um tuto aqui mesma na iMasters... Tudo funciona, porem... De acordo com a estrutura que eu montei, esta dando alguns conflitos: - As imagens que carregam ficam na frente de qualquer objeto, ele não obedece a ordem das layers. - Quando passo mouse em outro button ele abaixa a legenda... - Se eu mascaro todo o objeto (que faz essse cycle) o objeto que pagina (dynamic text - menu) some Deu para entender? Se alguem puder me ajudar... Vo agradecer muito... new mx.transitions.Tween(); new mx.transitions.easing.None.easeNone(); new mx.transitions.easing.Strong.easeOut(); function proximoTicker(){ ticker_atual < n_tickers - 1 ? (ticker_atual++) : (ticker_atual = 0); insereDados(ticker_atual); clearInterval(ticker_intervalo); } function anteriorTicker(){ ticker_atual > 0 ? (ticker_atual--) : (ticker_atual = n_tickers - 1); insereDados(ticker_atual); } function vaiParaTicker(numero_ticker){ ticker_atual = numero_ticker; insereDados(ticker_atual); } function insereDados(ticker_atual){ legenda_mc.titulo_txt.text = tickersXML.firstChild.childNodes[ticker_atual].childNodes[1].firstChild.nodeValue+": "+tickersXML.firstChild.childNodes[ticker_atual].childNodes[0].firstChild.nodeValue; legenda_mc.texto_txt.text = tickersXML.firstChild.childNodes[ticker_atual].childNodes[2].firstChild.nodeValue; carregaFoto(tickersXML.firstChild.childNodes[ticker_atual].childNodes[3].firstChild.nodeValue); area_mc.onRelease = function () { getURL(tickersXML.firstChild.childNodes[ticker_atual].childNodes[4].firstChild.nodeValue, tickersXML.firstChild.childNodes[ticker_atual].childNodes[5].firstChild.nodeValue); }; } function carregaFoto(scr){ fotoIn.stop(); var mclFoto = new MovieClipLoader(); mclFoto.loadClip(scr,fotoCima); this.onLoadInit = function (){ clearInterval(ticker_intervalo); ticker_intervalo = setInterval(proximoTicker, 5000); fotoIn = new mx.transitions.Tween(fotoCima, "_alpha", mx.transitions.easing.None.easeNone, 0, 100, 1, true); fotoIn.onMotionFinished = function (){ if (fotoCima == fotomc1){ mclFoto.unloadClip(fotomc2); fotomc1.swapDepths(fotomc2); fotoCima = fotomc2; } else { mclFoto.unloadClip(fotomc1); fotomc2.swapDepths(fotomc1); fotoCima = fotomc1; } }; }; mclFoto.addListener(this); } // End of the function function desceLegenda() { var _loc1 = new mx.transitions.Tween(legenda_mc, "_y", mx.transitions.easing.Strong.easeOut, legenda_mc._y, leg_esconde, 1.500000E+000, true); } // End of the function function sobeLegenda() { var _loc1 = new mx.transitions.Tween(legenda_mc, "_y", mx.transitions.easing.Strong.easeOut, legenda_mc._y, leg_aparece, 1.500000E+000, true); } // End of the function var tickersXML = new XML(); tickersXML.ignoreWhite = true; tickersXML.onLoad = function (success) { if (success) { n_tickers = tickersXML.firstChild.childNodes.length; ticker_atual = n_tickers; prox_btn.onRelease = function () { if (fotoIn.position == fotoIn.finish) { proximoTicker(); } // end if }; ant_btn.onRelease = function () { if (fotoIn.position == fotoIn.finish) { anteriorTicker(); } // end if }; proximoTicker(); menu._visible = false; var _loc5 = menu._x; var _loc4 = 25; for (var _loc2 = 0; _loc2 < n_tickers; ++_loc2) { var _loc3 = menu.duplicateMovieClip("menu" + _loc2, _loc2 + 5); _loc3._x = _loc2 * _loc4 + _loc5; _loc3.numero = _loc2; _loc3.numero_txt.text = _loc2 + 1; _loc3.botao.onRelease = function () { if (fotoIn.position == fotoIn.finish) { vaiParaTicker(this._parent.numero); } // end if }; } // end of for } else { sobeLegenda(); legenda_mc.titulo_txt.text = "Ocorreu um erro"; legenda_mc.texto_txt.text = "Por favor entre em contato com a administração"; } // end else if }; this.createEmptyMovieClip("fotomc1",2); this.createEmptyMovieClip("fotomc2",1); fotomc1._x = fotomc2._x = area_mc._x; fotomc1._y = fotomc2._y = area_mc._y; fotoCima = fotomc1; legenda_mc.swapDepths(3); area_mc.onRollOver = sobeLegenda; area_mc.onRollOut = desceLegenda; area_mc._alpha = 0; area_mc.swapDepths(4); var leg_aparece = legenda_mc._y; var leg_esconde = legenda_mc._y + legenda_mc._height + 1; legenda_mc._y = leg_esconde; legenda_mc.setMask(mascara_mc); tickersXML.load("tickers.xml"); Stage.showMenu = false; Stage.scaleMode = "noScale"; null; Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 25, 2009 Seu erro ta aqui! this.createEmptyMovieClip("fotomc1",2); this.createEmptyMovieClip("fotomc2",1); Palco é 0 se você colocar 1 ele vai ficar na frente do palco... 2 tbm tem que colocar para baixo de 0 this.createEmptyMovieClip("fotomc1",-2); this.createEmptyMovieClip("fotomc2",-1); E resolverá seu problema ;) Quanto a mascara... qualquer texto dinamico ou não por debaixo de mascara some! Tem que dar embed importando a font para o flash para poder resolver isso. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 26, 2009 Seu erro ta aqui! this.createEmptyMovieClip("fotomc1",2); this.createEmptyMovieClip("fotomc2",1); Palco é 0 se você colocar 1 ele vai ficar na frente do palco... 2 tbm tem que colocar para baixo de 0 this.createEmptyMovieClip("fotomc1",-2); this.createEmptyMovieClip("fotomc2",-1); E resolverá seu problema ;) Quanto a mascara... qualquer texto dinamico ou não por debaixo de mascara some! Tem que dar embed importando a font para o flash para poder resolver isso. Abraços Muito agradeciso pela ajuda... Quanto ao importar a font pela embed, poderia me dar um exemplo? Muito obrigado mesmo... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 26, 2009 var textFormat:TextFormat = new TextFormat(); textFormat.font = "linkage da fonte importada"; texto.setTextFormat(textFormat); Para importar a fonte, clique na biblioteca com o botão direito, selecione new Font, de um linkage a ela. E use o código acima :) Da uma olhadinha no TextFormat() ou algo do genero :P Explica como fazer no proprio help do flash... Ou para não dar problema... me disseram, ainda não pude conferir se da... fazer uma mascara por action ou seja dinamic mask... não da problema com os textos. De uma pesquisada em mask() tbm. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 Seu erro ta aqui! this.createEmptyMovieClip("fotomc1",2); this.createEmptyMovieClip("fotomc2",1); Palco é 0 se você colocar 1 ele vai ficar na frente do palco... 2 tbm tem que colocar para baixo de 0 this.createEmptyMovieClip("fotomc1",-2); this.createEmptyMovieClip("fotomc2",-1); E resolverá seu problema ;) Quanto a mascara... qualquer texto dinamico ou não por debaixo de mascara some! Tem que dar embed importando a font para o flash para poder resolver isso. Abraços Não funcionou :( Continua por cima das camadas... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 27, 2009 Só por curiosidade... joga o valor -1 e -2 para -1000 e -1001 E veja se ainda fica por cima... Não deveria... ficar não pois eu to colocando abaixo de qualquer item adicionado ao palco colocando o depth negativo Abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 Só por curiosidade... joga o valor -1 e -2 para -1000 e -1001 E veja se ainda fica por cima... Não deveria... ficar não pois eu to colocando abaixo de qualquer item adicionado ao palco colocando o depth negativo Abraços Ainda não funcionou... Posso te enviar o fla? :/ Não sei mais o que fazer... Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 27, 2009 Posta o fla ai, pois assim não só eu como qualquer outro pode ajudar. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 Segue o link do .fla http://dl.getdropbox.com/u/215058/destaques.fla Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 27, 2009 Qual a versão do seu flash??? Pois aqui ta dando unespected format! Ou seja deve ser CS4 uma vez que eu uso o CS3 Bom mas se você estiver no arquivo criando os MovieClips dinamicamente como to imagiando que ta faça assim: var fotomc1:MovieClip = _root.createEmptyMovieClip("fotomc1",-2); var fotomc2:MovieClip = _root.createEmptyMovieClip("fotomc2",-1); Em vez de usar assim: this.createEmptyMovieClip("fotomc1",2); this.createEmptyMovieClip("fotomc2",1); abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 Caramba, não funcionou :/ Estou arrancando cabelos com a mão... Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 :/ Realmente não funcionou... Botei o fla em CS3: http://dl.getdropbox.com/u/215058/destaque.fla Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 27, 2009 Achei :) Agora que fui entender como funciona ;) var _loc3 = menu.duplicateMovieClip("menu" + _loc2, _loc2 + 5); <---------- depth ta positivo afinal você ta dando o valor de _loc2 pra ele que é positivo pq ta seguindo um for Apenas transforme-o em negativo: var _loc3 = menu.duplicateMovieClip("menu" + _loc2, (_loc2 + 5)*-1); Abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 Achei :) Agora que fui entender como funciona ;) var _loc3 = menu.duplicateMovieClip("menu" + _loc2, _loc2 + 5); <---------- depth ta positivo afinal você ta dando o valor de _loc2 pra ele que é positivo pq ta seguindo um for Apenas transforme-o em negativo: var _loc3 = menu.duplicateMovieClip("menu" + _loc2, (_loc2 + 5)*-1); Abraços Tenho uma leve impressão que isso não vai funcionar, pois você esta tratando o "menu"... Mas vou tentar, obrigado! ;) Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 Como eu disse, não fazia sentido funcionar. Meu problema é: o tricker de imagens fica a cima do palco do Flash. Assim ele não obedece a ordem das layers. Não tinha nada haver com menu. p.s.: Com isso (*-1) o menu ficou atrás do tricker também ;) Mas obrigado mesmo assim. Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 27, 2009 berseck, me ajuda assim, como eu jogo 1 mc na frente de tudo? Eu quero deixar 1 mc entre o menu e o trickers. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Thiago de Oliveira Cruz 21 Denunciar post Postado Abril 27, 2009 neoHaT, Como eu já lhe disse, quando você cria um movie clip com swap negativo ele vai ficar por trás de tudo. Acontece que você ta criando o MovieClip dentro de um clip... que tem varias camadas e por isso ele ta ficando acima de tudo. Eu lhe falei para criar no _root.createEmptyMovieClip("fotomc1", -1); Quando fiz uma réplica do seu arquivo aqui e fiz um teste com o xml refazendo aquilo que eu achava como ele era... A imagem sim foi colocada no root e ficou por trás de tudo. Não sei o que você ta fazendo ai não. _root.trickers.createEmptyMovieClip("fotomc1", -1); Colocando assim tbm vai ficar atrás de tudo. Respondendo sua ultima pergunta Crie 3 imagens separadas com os numeros 1, 2 e 3 Crie um swf e coloque o código abaixo var mc1:MovieClip = _root.createEmptyMovieClip("mc1", 1); var mc2:MovieClip = _root.createEmptyMovieClip("mc2", 3); var mc3:MovieClip = _root.createEmptyMovieClip("mc3", 2); mc1._x = 10; mc1._y = 10; mc2._x = 20; mc2._y = 10; mc3._x = 15; mc3._y = 15; E você vai entender o depth como estou dizendo. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 28, 2009 Agora eu entendi, e acho que esta resolvido... Amanha, assim que eu chegar no trabalho vo por em ação e posto os resultados. Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
neoHaT 0 Denunciar post Postado Abril 29, 2009 Rodei rodei, e consegui fazer o que queria, com alguma pendencias, mas são bobas... Muito obrigado berseck... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites