Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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);
}
}
}<?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.
Ps: Exporte no flash e rode no localhost. (temos um arquivo .php)
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!
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!
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.
Viva Grande SinoP,
Voce se esqueceu novamente de anexar as tabelas mysql. http://forum.imasters.com.br/public/style_emoticons/default/blush.gif
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
Ow cara tem como passar o banco?
vlw t+
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