filipescoob 1 Denunciar post Postado Janeiro 12, 2009 Fala galera, Fiz tudo como o tutorial falou porem as legendas não aparecem. O que sera que fiz errado, segue meu codigo. PS: instanciei tudo como solicitado no tutorial. //Importando as classes para fazer os movimentos dinâmicos import mx.transitions.*; import mx.transitions.easing.*; //Criando o xml e fazendo ele ignorar espaços em branco var tickersXML:XML = new XML(); tickersXML.ignoreWhite = true; //Quando o xml carregar com sucesso executar as funções tickersXML.onLoad = function(success:Boolean):Void { //(o xml é carregado na última linha do script) if (success) { //Número total de tickers n_tickers = tickersXML.firstChild.childNodes.length; /*O ticker_atual será o último pois ao executar a função de proximoTicker() ele passará automaticamente para o 1º resultado*/ ticker_atual = n_tickers; //Acertando as funções dos botões prox_btn.onRelease = function():Void { //Se o fade das fotos tiver terminado if (fotoIn.position == fotoIn.finish) { //Vai para o próximo ticker proximoTicker(); } }; ant_btn.onRelease = function():Void { if (fotoIn.position == fotoIn.finish) { anteriorTicker(); } }; //Chamando o primeiro ticker proximoTicker(); //Criando o menu duplicando o quadradinho existente //Deixando o quadradinho base invisível menu._visible = false; //Pegando a posição inicial _x do menu var menu_x = menu._x; //Definindo a distância entre os botões var menu_dist = 25; //Criando um laço que gerará os botões do menu. Ele executa uma vez para cada ticker. for (var i:Number = 0; i < n_tickers; i++) { //Duplicando o movieclip menu //O depth é i+5 porque até o depth 4 existem mcs ocupando [fotomc1, fotomc2, legenda_mc, area_mc] var menubtn:MovieClip = menu.duplicateMovieClip("menu" + i, i + 5); //Movendo o botão duplicado no eixo x. menubtn._x = i * menu_dist + menu_x; //Número do ticker menubtn.numero = i; //Texto do botãozinho menubtn.numero_txt.text = i + 1; //Quando apertar o botão, mudar para ticker indicado menubtn.botao.onRelease = function():Void { //Se o fade tiver terminado if (fotoIn.position == fotoIn.finish) { vaiParaTicker(this._parent.numero); } }; } } else { //Caso dê errado o carregamento, avise sobeLegenda(); legenda_mc.titulo_txt.text = "Ocorreu um erro"; legenda_mc.texto_txt.text = "Por favor entre em contato com a administração"; } }; //Função que passa para o próximo ticker function proximoTicker():Void { //Se o ticker atual não for o último, aumenta em 1, se for ele vai para 0 ticker_atual < n_tickers - 1 ? ticker_atual++ : ticker_atual = 0; insereDados(ticker_atual); //Limpando o intervalo de troca de tickers clearInterval(ticker_intervalo); } //Função que passa para o ticker anterior function anteriorTicker():Void { //Mesmo esquema da outra função ticker_atual > 0 ? ticker_atual-- : ticker_atual = n_tickers - 1; insereDados(ticker_atual); } //Função que vai direto para um ticker, é o mesmo esquema das outras function vaiParaTicker(numero_ticker:Number):Void { ticker_atual = numero_ticker; insereDados(ticker_atual); } //Função que insere os dados vindo do XML no nosso sitema function insereDados(ticker_atual:Number):Void { //Colocando titulo e texto na legenda 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; //Carregando a foto carregaFoto(tickersXML.firstChild.childNodes[ticker_atual].childNodes[3].firstChild.nodeValue); //Definindo o link para quando clicar na foto area_mc.onRelease = function():Void { getURL(tickersXML.firstChild.childNodes[ticker_atual].childNodes[4].firstChild.nodeValue, "_self"); }; } //Carregando o XML e dando início ao processo tickersXML.load("tickers.xml"); //Criando os dois movieclips para carregar as fotos this.createEmptyMovieClip("fotomc1", 2); this.createEmptyMovieClip("fotomc2", 1); //Posicionando os mcs no palco fotomc1._x = fotomc2._x = area_mc._x; fotomc1._y = fotomc2._y = area_mc._y; //Definindo qual está em cima (por causa dos fades) fotoCima = fotomc1; //Colocando a legenda por cima das fotos legenda_mc.swapDepths(3); //Função que carrega a foto e cria os fades function carregaFoto(scr:String):Void { //Parando o fade da foto anterior caso ainda esteja ocorrendo fotoIn.stop(); //Criando o mcloader var mclFoto:MovieClipLoader = new MovieClipLoader(); //Carregando a foto mclFoto.loadClip(scr, fotoCima); //Quando terminar de carregar a foto this.onLoadInit = function():Void { //Chamar o próximo ticker clearInterval(ticker_intervalo); ticker_intervalo = setInterval(proximoTicker, 5000); //Fazer o fadeIn com a foto de cima fotoIn = new Tween(fotoCima, "_alpha", None.easeNone, 0, 100, 1, true); //Quando terminar a transição de fotos fotoIn.onMotionFinished = function():Void { //Pegar a foto de cima e jogar para trás if (fotoCima == fotomc1) { //Tirando o clip do fotomc2 que irá para frente mclFoto.unloadClip(fotomc2); fotomc1.swapDepths(fotomc2); //Ao ir pra frente estará preparado para receber outra foto fotoCima = fotomc2; } else { //Mesma coisa, caso seja o fotomc2 que estiver em cima mclFoto.unloadClip(fotomc1); fotomc2.swapDepths(fotomc1); fotoCima = fotomc1; } }; }; //Adicionando o listener ao mcloader mclFoto.addListener(this); } //Criando os dois movieclips para carregar as fotos this.createEmptyMovieClip("fotomc1", 2); this.createEmptyMovieClip("fotomc2", 1); //Posicionando os mcs no palco fotomc1._x = fotomc2._x = area_mc._x; fotomc1._y = fotomc2._y = area_mc._y; //Definindo qual está em cima (por causa dos fades) fotoCima = fotomc1; //Colocando a legenda por cima das fotos legenda_mc.swapDepths(3); //Função que carrega a foto e cria os fades function carregaFoto(scr:String):Void { //Parando o fade da foto anterior caso ainda esteja ocorrendo fotoIn.stop(); //Criando o mcloader var mclFoto:MovieClipLoader = new MovieClipLoader(); //Carregando a foto mclFoto.loadClip(scr, fotoCima); //Quando terminar de carregar a foto this.onLoadInit = function():Void { //Chamar o próximo ticker clearInterval(ticker_intervalo); ticker_intervalo = setInterval(proximoTicker, 5000); //Fazer o fadeIn com a foto de cima fotoIn = new Tween(fotoCima, "_alpha", None.easeNone, 0, 100, 1, true); //Quando terminar a transição de fotos fotoIn.onMotionFinished = function():Void { //Pegar a foto de cima e jogar para trás if (fotoCima == fotomc1) { //Tirando o clip do fotomc2 que irá para frente mclFoto.unloadClip(fotomc2); fotomc1.swapDepths(fotomc2); //Ao ir pra frente estará preparado para receber outra foto fotoCima = fotomc2; } else { //Mesma coisa, caso seja o fotomc2 que estiver em cima mclFoto.unloadClip(fotomc1); fotomc2.swapDepths(fotomc1); fotoCima = fotomc1; } }; }; //Adicionando o listener ao mcloader mclFoto.addListener(this); } //Fazendo com que a legenda suba quando o mouse estiver em cima da foto area_mc.onRollOver = sobeLegenda; area_mc.onRollOut = desceLegenda; area_mc._alpha = 0; area_mc.swapDepths(4); //Pegando as posições da legenda var leg_aparece = legenda_mc._y; var leg_esconde = legenda_mc._y + legenda_mc._height + 1; //Função que esconde a legenda com Tweens function desceLegenda():Void { var desceTween:Tween = new Tween(legenda_mc, "_y", Strong.easeOut, legenda_mc._y, leg_esconde, 1.5, true); } //Função que mostra a legenda com Tweens function sobeLegenda():Void { var sobeTween:Tween = new Tween(legenda_mc, "_y", Strong.easeOut, legenda_mc._y, leg_aparece, 1.5, true); } //Abaixando a legenda por padrão legenda_mc._y = leg_esconde; //Configurando a máscara da legenda legenda_mc.setMask(mascara_mc); Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
Rafael Cremasco 0 Denunciar post Postado Julho 10, 2009 Bom eu uso esse script em minha página www.rcldesign.com.br só que tenho um problema, não sei como colocar uma mascara nos movie clipes que carregam as imagens. Sendo assim quando eu envio uma imagem maior que o maximo largura 233px ou maximo altura 175px o php faz o redimensionamento... porêm quando a altura e a largura são semelhantes sempre acaba passando da altura maxima estragando o layout da página. Acredito que com uma mascara resolveria esse excesso. Alguêm sabe como usar "setMask" nesse script para gerar uma mascara ou outra forma de resolver esse problema sem deformar as imagens? Aguardo, Compartilhar este post Link para o post Compartilhar em outros sites
Dark Tranquility 0 Denunciar post Postado Novembro 1, 2009 Aí pessoal, já que tem muitos iniciantes com dificuldade de terminar o tutorial, aqui vai o fla: Depois de ler, pode baixar Abraço Desculpe reviver, mas é que ao clicar no botão 2, mostra a id indefinida, acho que é o link. Gostaria de um auxílio: xml.php <?php@include "../../../config/settings.php"; $sql = "SELECT * FROM `slideshow` ORDER BY `sid` ASC"; $sql = @mysql_query($sql); $rst = @mysql_num_rows($sql); if($rst > 0) { $xml = fopen("tickers_xml.php", "w"); //$xml = fopen("modules/mod_flash-slideshow/tickers-fontes/tickers_xml.php", "w"); fwrite($xml, "<?xml version="1.0" encoding="utf-8"?>rn"); fwrite($xml, "<tickers>rn"); for($i=0; $i<$rst; $i++) { $sid = utf8_encode(mysql_result($sql,$i,"sid")); $title = utf8_encode(mysql_result($sql,$i,"title")); $image = utf8_encode(mysql_result($sql,$i,"image")); $description = utf8_encode(mysql_result($sql,$i,"description")); $text = utf8_encode(mysql_result($sql,$i,"text")); $date = utf8_encode(mysql_result($sql,$i,"date")); $datetime = utf8_encode(mysql_result($sql,$i,"datetime")); $conteudo = "<ticker>rn"; $conteudo .= "<titulo>$title</titulo>rn"; $conteudo .= "<area>$description</area>rn"; $conteudo .= "<texto>$description</texto>rn"; $conteudo .= "<foto>../../../images/stories/fpslideshow/$image</foto>rn"; $conteudo .= "<link>?param=highlights&sid=$sid&mod=slideshow</link>rn"; $conteudo .= "</ticker>rn"; fwrite($xml, $conteudo); } fwrite($xml, "</tickers>"); fclose($xml); }?> tickers_xml.php <?php@include("../../../config/settings.php");@header("content-type:text/xml; charset=utf-8");echo "<?xml version="1.0" encoding="utf-8"?>";?><tickers> <?php $sql = @mysql_query("SELECT * FROM `slideshow` ORDER BY `sid` ASC"); while($result = @mysql_fetch_array($sql)) { $sid = $result['sid']; $title = $result['title']; $image = $result['image']; $description = $result['description']; $text = $result['text']; $date = $result['date']; $datetime = $result['datetime']; ?> <ticker> <titulo><?php echo $title; ?></titulo> <area><?php echo $description; ?></area> <texto><?php echo $description; ?></texto> <foto>../../../images/stories/fpslideshow/<?php echo $image; ?></foto> <link>?param=highlights&sid=<?php echo $sid; ?>&mod=slideshow</link> </ticker> <?php } ?> </tickers> Agradeço desde já! Att. Compartilhar este post Link para o post Compartilhar em outros sites