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,
to fazendo uma galeria gerenciável no Flash. Mas tenho um problema que não consegui resolver.
Primeiro é gerado o arquivo 'eventos.xml', segue estrutura abaixo:
<?xml version="1.0" encoding="utf-8"?>
<eventos>
<galeria id="1" nome="Outro Evento" foto="eventos/26/e369efbfc9cc919f851f67d78c5a2673.jpg" dia="12/10/07"/>
<galeria id="2" nome="Outro" foto="eventos/25/c082378d6428461da24ce182f12677bf.jpg" dia="10/02/07"/>
</eventos>
Depois é gerado o arquivo 'id.xml' contendo as fotos, onde id é o id da galeria. Nesse caso, como são duas galerias, então teriamos os arquivos 1.xml e 2.xml.
Primeiro o arquivo eventos.xml deve ser lido e ser mostrado ao usuário todas as galerias disponíveis. Consigo fazer o arquivo ser lido e também consigo mostrar todas a informações que estão dentro do nó galeria. O que não consigo é fazer com que o valor da galeria selecionada pelo usuário, seja enviado ao próximo frame.
Segue meu código.
stop();System.useCodepage = true;var arquivo:XML = new XML();arquivo.load("teste.xml");arquivo.ignoreWhite = true;arquivo.onLoad = function(ok) {if (ok) {total = this.firstChild.childNodes.length;for (var i = 0; i<total; i++) {// CRIANDO OS CAMPOS PARA EXIBIR NOME E DATA DO EVENTOcx1 = _root.createTextField("nome"+i, _root.getNextHighestDepth(), 100+(i*150), 123, 140, 16);cx1.background = false;cx1.border = false;cx2 = _root.createTextField("dia"+i, _root.getNextHighestDepth(), 100+(i*150), 139, 140, 16);cx2.background = false;cx2.border = false;meuFormato = new TextFormat();meuFormato.font = "Verdana";meuFormato.size = 12;meuFormato.color = 0xFF0000;cx1.setNewTextFormat(meuFormato);cx2.setNewTextFormat(meuFormato);// CRIANDO MC PARA EXIBIR A FOTOcx3 = _root.createEmptyMovieClip("clipe"+i, _root.getNextHighestDepth());cx3.lineStyle(4,0xFFFFFF);cx3.moveTo(0,0);cx3.lineTo(140,0);cx3.lineTo(140,93);cx3.lineTo(0,93);cx3.lineTo(0,0);cx3._x = 100+(i*150);cx3._y = 30;cx3.id = this.firstChild.childNodes[i].attributes.id;cx3.loadMovie(this.firstChild.childNodes[i].attributes.foto);cx1.text = this.firstChild.childNodes[i].attributes.nome;cx2.text = this.firstChild.childNodes[i].attributes.dia;cx3.onPress = function () {nextFrame();teste(this.id);}}} else {trace("Erro");}};
No próximo frame, tenho o seguinte código:
function teste(id) {trace(id);}
Não sei se o código tá certo, mas o cx3, que é onde aparece a imagem, não fica clicável.
Carregando comentários...