SinoP 0 Denunciar post Postado Agosto 12, 2008 Olá pessoal. Abri este tópico pois senti falta de uma galeria simples e direta. <_< Estou aqui desenvolvendo um site em flash e precisava de uma galeria. Procurei por tudo e o que encontrei foram varias galerias mas todas com XML. Como eu quero criar um script rápido e facil necessito de algo PHP + Flash, sem precisar ficar gerando o XML, assim posso enviar uma variavel por URL para o PHP e refinar a exibição de imagens por galerias, precisando criar apenas um arquivo PHP e um Flash. Tentei gerar o XML no PHP e dar um echo, porém o flash não leu. Agora estou tentando adaptar a galeria que funcionava com XML. Está quase, as miniaturas carregam certinhas, o que não to conseguindo é criar uma variavel que fique gravada dentro do Movie duplicado, para que eu possa definir qual a id de cada "imagem". Vou colar o código para que possam entender melhor. Action do meu flash: //include "lmc_tween.as" // criando o objeto XML var recebe:LoadVars = new LoadVars(); recebe.load("galeria.php"); recebe.onLoad = function() { // variável que retorna a altura de todos os thumbs juntos altura = (thumb._height*this["thumb"].length+this["thumb"].length*2); // criando um loop for for(i=1;i<5;i++){ // duplicando o movieclip thumb duplicateMovieClip("thumb","thumb"+i,i+1); thumbs = _root.tudo_mc["thumb"+i]; // posição de cada thumb thumbs._y += (thumb._height+2)*i; // criando uma instância da classe MovieClipLoader var MCL1:MovieClipLoader = new MovieClipLoader(); // carregando um arquivo no objeto MCL1, de acordo com o primeiro nó do XML, o nó filho atual (i) do atributo thumb, movieclip alvo: thumbs.mostra MCL1.loadClip(this["thumb" + i],thumbs.mostra); thumbs.onEnterFrame = function():Void{ // variável que checa o progresso do objeto MCL1 progresso1 = MCL1.getProgress(this.mostra); // texto do campo pct_thumb: bytes carregados / bytes totais * 100 + o sinal de porcentagem this.pct_thumb.text = Math.ceil(progresso1.bytesLoaded / progresso1.bytesTotal * 100) + "%"; // se os bytes carregados forem iguais ao bytes totais, deixa o campo de texto invisível, se não, ele continua visível progresso1.bytesLoaded == progresso1.bytesTotal ? this.pct_thumb._visible = false : this.pct_thumb._visible = true; } // variável de referência, que indica o nó atual thumbs.numer = i; // texto do campo de texto "campo" thumbs.campo.text = i+1; // retirando a mãozinha do mouse thumbs.btn.useHandCursor = true; // quando clicar no movieclip thumbs.btn.onRelease = function():Void{ // outra instância da classe MovieClipLoader var MCL2:MovieClipLoader = new MovieClipLoader(); // carregando o arquivo MCL2.loadClip(this["grande" + _parent.numer], _root.mc); // mesma lógica do MCL1 this.onEnterFrame = function():Void{ progresso2 = MCL2.getProgress(_root.mc); _root.pct.text = Math.round(progresso2.bytesLoaded/progresso2.bytesTotal*100) + "%"; progresso2.bytesLoaded == progresso2.bytesTotal ? _root.pct._visible = false : _root.pct._visible = true; } // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc _root.descricao.text = _parent.numer; } // quando passar o mouse thumbs.btn.onRollOver = function():Void{ // pequena mudança de contraste _root.tudo_mc["thumb" + _parent.numer].mostra.contrastTo(50,1); } // quando tirar o mouse thumbs.btn.onRollOut = function():Void{ // voltando ao normal _root.tudo_mc["thumb" + _parent.numer].mostra.contrastTo(100,1); } } } Galeria.php - envia as variaveis ao flash: <?php require("conecta/banco.php"); $a = 1; $seleciona = mysql_query("SELECT * FROM galerias"); $numero = mysql_num_rows($seleciona); echo "numero=".$numero; $total = mysql_num_rows($seleciona); while ($ret = mysql_fetch_array($seleciona)){ $id = $ret['id_alb']; $capa = $ret['capa']; $mini = $ret['mini']; $nome = $ret['nome']; $data = $ret['data']; $local = $ret['local']; echo "&nome".$a."=".$nome."&grande".$a."=".$capa."&thumb".$a."=".$mini; $a++; } ?> SQL das imagens: CREATE TABLE `galerias` ( `id_alb` int(11) NOT NULL auto_increment, `capa` varchar(250) NOT NULL, `nome` varchar(250) NOT NULL, `data` varchar(250) NOT NULL, `local` varchar(250) NOT NULL, `mini` varchar(250) NOT NULL, PRIMARY KEY (`id_alb`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3; INSERT INTO `galerias` (`id_alb`, `capa`, `nome`, `data`, `local`, `mini`) VALUES (1, 'img1.jpg', 'Teste 01', '28/02/2008', 'Sinop - MT', 'thumb1.jpg'), (2, 'img2.jpg', 'Teste 02', '25/08/2008', 'Sinop - MT', 'thumb2.jpg'); É como eu falei, as miniaturas são carregadas, porém não consigo definir a que id cada uma pertence. Creio que o que não esta funcionando é essa parte do action do flash: thumbs.numer = i; Se alguém quiser baixar os arquivos pra tentar rodar. arquivos para download Ps: Exporte no flash e rode no localhost. (temos um arquivo .php) Compartilhar este post Link para o post Compartilhar em outros sites
SinoP 0 Denunciar post Postado Agosto 12, 2008 Aew galera. Consegui arrumar.. agora ta filé. Se alguém quiser o arquivo é só fazer o download ai em cima. Só precisa mudar o action do flash por este aqui. (arrumadinho) http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Vlw moçada. // criando o objeto var recebe:LoadVars = new LoadVars(); recebe.load("galeria.php"); recebe.onLoad = function() { // variável que retorna a altura de todos os thumbs juntos altura = (thumb._height*this["thumb"].length+this["thumb"].length*2); // criando um loop for for(i=1;i<=recebe["numero"];i++){ trace(i); // duplicando o movieclip thumb duplicateMovieClip("thumb","thumb"+i,i+1); thumbs = _root.tudo_mc["thumb"+i]; thumbs.num = i; // posição de cada thumb thumbs._y += (thumb._height+2)*i; // criando uma instância da classe MovieClipLoader var MCL1:MovieClipLoader = new MovieClipLoader(); // carregando um arquivo no objeto MCL1, de acordo com o primeiro nó do XML, o nó filho atual (i) do atributo thumb, movieclip alvo: thumbs.mostra MCL1.loadClip(this["thumb" + i],thumbs.mostra); thumbs.onEnterFrame = function():Void{ // variável que checa o progresso do objeto MCL1 progresso1 = MCL1.getProgress(this.mostra); // texto do campo pct_thumb: bytes carregados / bytes totais * 100 + o sinal de porcentagem this.pct_thumb.text = Math.ceil(progresso1.bytesLoaded / progresso1.bytesTotal * 100) + "%"; // se os bytes carregados forem iguais ao bytes totais, deixa o campo de texto invisível, se não, ele continua visível progresso1.bytesLoaded == progresso1.bytesTotal ? this.pct_thumb._visible = false : this.pct_thumb._visible = true; } // variável de referência, que indica o id atual thumbs.num = i; // quando clicar no movieclip thumbs.btn.onRelease = function():Void{ // outra instância da classe MovieClipLoader var MCL2:MovieClipLoader = new MovieClipLoader(); // carregando o arquivo MCL2.loadClip(recebe["capa"+this._parent.num],_root.mc); // mesma lógica do MCL1 this.onEnterFrame = function():Void{ progresso2 = MCL2.getProgress(_root.mc); _root.pct.text = Math.round(progresso2.bytesLoaded/progresso2.bytesTotal*100) + "%"; progresso2.bytesLoaded == progresso2.bytesTotal ? _root.pct._visible = false : _root.pct._visible = true; } // definindo o texto do campo de texto descrição, de acordo com o nó atual do atributo desc _root.descricao.text = recebe["capa"+this._parent.num]; } // quando passar o mouse thumbs.btn.onRollOver = function():Void{ // pequena mudança de contraste _root.tudo_mc["thumb"+ _parent.num].mostra._alpha(50,1); } // quando tirar o mouse thumbs.btn.onRollOut = function():Void{ // voltando ao normal _root.tudo_mc["thumb"+ _parent.num].mostra._alpha(0,1); } } } Compartilhar este post Link para o post Compartilhar em outros sites
j6design 0 Denunciar post Postado Agosto 14, 2008 Viva SinoP, Não estou conseguindo colocar a galeria a funcionar correctamente, alterei o actionscript no flash mas continua a carregar só as miniaturas :S Dá para voce colocar os ficheiros finais para eu poder testar? Abraço! Compartilhar este post Link para o post Compartilhar em outros sites
SinoP 0 Denunciar post Postado Agosto 18, 2008 Opa... estão aqui os ficheiros finais... Galeria Flash + PHP + MySQL Vlw J6 Qlqr dúvida posta aqui. Compartilhar este post Link para o post Compartilhar em outros sites
j6design 0 Denunciar post Postado Agosto 20, 2008 Viva Grande SinoP, O ficheiro fotos.fla esta funcionando perfeitamente, já o ficheiro galeria_fotos.fla continuo a não conseguir por a funcionar... :S você se importa de postar as duas tabelas de sql para eu poder ver. Grande abraço! Compartilhar este post Link para o post Compartilhar em outros sites
SinoP 0 Denunciar post Postado Agosto 20, 2008 Olá J6. Desculpe mais uma vez pela minha ignorância, esqueci de compactar alguns arquivos. Estou colocando os arquivos todos para download, e junto estta indo um readme para você seguir os passos da instalação. Obrigado. Galeria Completa Compartilhar este post Link para o post Compartilhar em outros sites
j6design 0 Denunciar post Postado Agosto 21, 2008 Viva Grande SinoP, Voce se esqueceu novamente de anexar as tabelas mysql. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Compartilhar este post Link para o post Compartilhar em outros sites
beeck 0 Denunciar post Postado Setembro 20, 2008 muito boom sinoP =] nao sei oq ta acontecendo, pq eu uso linux, ai qdo eu baixei o arquivo ai, e abri o html, ela trava e fala q o flash player nao ode abrir ;S e tb nao veio com as tabelas =/ mas vlw eim =D e se puder me ajudar ai =] abraaço http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Compartilhar este post Link para o post Compartilhar em outros sites
Bruno Depieri Barduchi 0 Denunciar post Postado Dezembro 8, 2008 Ow cara tem como passar o banco? vlw t+ Compartilhar este post Link para o post Compartilhar em outros sites