Elektra 102 Denunciar post Postado Agosto 21, 2012 Adicionando extras em scroll que carrega imagens e descrições via xml (arquivo de estudo). Na batalha pra usar com Lightbox 2. O click nos thumbs tá ok, em fase de testes, usando um switch. Criei mais 2 variáveis: var desc:Array =[]; var full:Array = []; for each(var i in listXML) { pics.push(i.arquivo); desc.push(i.descricao); full.push(i.imgfull); titulo.push(i.titulofull); } Para chamar a descrição em uma caixa de texto dinâmico uso: var picName:String = e.currentTarget.name; var number:String = picName.slice(3,4); infoText.text = desc[int(number)]; No External com xml, me enrolei. ??? >> "imagens/full_1.jpg","Título da imagem 1" function chamaLightbox(e:MouseEvent):void { var clickPic:String = e.currentTarget.name; switch(clickPic) { case "pic0": trace("cliquei na imagem 1"); /*ExternalInterface.call("LightboxDelegate", "imagens/full_1.jpg", "Título da imagem 1"); */ break; //etc <scroll> <imagem> <arquivo>imagens/img1.jpg</arquivo> <descricao> Descrição da imagem 1</descricao> <imgfull>imagens/full_1.jpg</imgfull> <titulofull> Título da imagem 1</titulofull> </imagem> Agradeço quem puder dar uma mão. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
DesenvolvedorRoger 50 Denunciar post Postado Agosto 24, 2012 var picName:String = e.currentTarget.name;var number:String = picName.slice(3,4); infoText.text = desc[int(number)]; Na minha longa jornada eu também já percorri esse caminho... Acredite, você está no caminho certo... rsss Em vez disso, Elektra, adicione uma var ao seu MC no addChild(estilo prototype). seu mc.indice = ?; e na chamaLightbox() você pega os dados vinculados sem depender do switch: trace( desc[ e.currentTarget.indice ] ) Se tiver alguma dúvida é só falar que na medida do possível eu respondo... Abs, Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 24, 2012 Pode alugar na boa mestre! ahahahahhh :grin: Roger, o switch é só pra teste (não soube usar algo melhor por enquanto, tô pesquisando). Atualmente uso 10 imagens, mas podem ser 30, 40. Nenhum objeto no stage, pela library exporto 1 mc com dynamic text que lê >> 'desc.push(i.descricao);' e 1 mc preloader (para os thumbs). Correção >> variáveis para o lightbox var full:Array = []; //imagem full var titulo:Array = []; // título Arquivo de curso, apenas adicionei algumas melhorias, ainda falta. Vou aprendendo. Desculpe, mas não compreendi sua sugestão. Já apanho do AS3, com xml então, mó dureza. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
DesenvolvedorRoger 50 Denunciar post Postado Agosto 24, 2012 Você precisa exibir as imagens referente a cada clique nos "pics", certo? Então, em vez de você nomear seus mcs para "pic0", "pic1" etc, atribua uma var chamada "indice" a cada um deles para que quando o usuário clicar em algum dos "pics" você possa carregar o conteúdo referente a eles... Roger, o switch é só pra teste (não soube usar algo melhor por enquanto, tô pesquisando) Entendi... Mas não tem como usar switch para galerias dinâmicas... Você falou em 30, 40 imagens... Imagine se fossem 200 ou mais? Criar cada "case" na mão seria uma tortura(sem falar que não ficaria nada elegante). Seguindo o raciocínio mais acima, bastaria fazer o seguinte: function clique( e:Event ){ trace( full[ e.target.indice ] + titulo[ e.target.indice ]); } Abs, Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 24, 2012 Mantive o mesmo recurso do arquivo, removi o switch e obtive os nós corretamente ao clicar nos thumbs. function chamaLightbox(e:MouseEvent):void { var clickPic:String = e.currentTarget.name; var num:String = clickPic.slice(3,4); trace(full[num]); //imagens/full_5.jpg trace(titulo[num]); //Título da imagem 5 } Vou montar o html e testar no ExternalInterface como chamar full[num] e titulo[num]. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
DesenvolvedorRoger 50 Denunciar post Postado Agosto 25, 2012 Mantive o mesmo recurso do arquivo, removi o switch e obtive os nós corretamente ao clicar nos thumbs. Vai funcionar, mas dessa forma o seu código fica deselegante... Volto a repetir, em vez de você até mesmo atribuir um nome atribua um índice, só isso... Mas enfim, o importante é resolver, né? :D Abs, Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 25, 2012 Uau ... jura que vai funfar??? :lol: (só eu sei que métodos cabeludos já tentei kkkkkk) Roger, claro que vou procurar melhorar, sua orientação é sempre muito bem vinda. Vou descobrir como, pode apostar. Acesso 2 funções, mouse_over (desc) para o infobox e click (full + titulo) para o lightbox. Ainda tenho que furungar um tanto no code, adicionar preloader individual para os thumbs (estudando tratamento de eventos), usar TweenMax com alpha no carregamento, compactar, remover bordas e posicionar adequadamente no for, alterar a rolagem para 5 de cada vez (de 1 em 1 é um porre), corrigir 5 px no lado direito e criar um layout decente. Só pra complicar um pouquinho, tentar acessar o lightbox de um swf externo (carregado na main). Será possível? Me dá um desconto né (só vendo o que era o arquivo original pra dar valor). Tô feliz pra caramba com cada pequena mas honesta conquista. Eu chego lá! Agradeço muito a todos que me tem auxiliado. Mestre é mestre! :clap: ps: dou notícias do resultado, vou montar o html Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 26, 2012 Bem, por enquanto, carrego o grupo ao clicar em qualquer thumb pela 'some_id_00', referente a full_1.jpg (informado no html). ExternalInterface.call("GroupDelegate",'some_id_00','This is GroupDelegate From FLASH'); Minha intenção é carregar o grupo (navegação com setas), mas exibir a versão full do thumb clicado. O exemplo que tenho, abre o grupo a partir de um único link no swf, iniciando pela imagem 1 e sem xml (ó mundo cruel). Bora ralar mais um cadinho, rsrssss. ... tô fazendo alguma kaka, em frente :grin: (amo muito) Roger, não larguei o osso ok! Compartilhar este post Link para o post Compartilhar em outros sites
DesenvolvedorRoger 50 Denunciar post Postado Agosto 26, 2012 Minha intenção é carregar o grupo (navegação com setas), mas exibir a versão full do thumb clicado.. Pois é, mas o indice que te falei é pra esse propósito... rsss Roger, não larguei o osso ok! Haha, D+ :D Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 27, 2012 ... :innocent: vou revirar uns arquivos, tenho idéia do que fala, mas ainda não sei como. exemplo com Array (algo semelhante): var swf:Array = new Array("home.swf", "page1.swf", "page2.swf", "page3.swf"); var i:uint; //... for (i=0; i<=3; i++){ this["bt" + i].arquivo = swf[i]; this["bt" + i].addEventListener(MouseEvent.CLICK, carrega); } function carrega(e:MouseEvent):void{ if (link.url != e.currentTarget.arquivo){ link.url = e.currentTarget.arquivo; //... } } Compartilhar este post Link para o post Compartilhar em outros sites
DesenvolvedorRoger 50 Denunciar post Postado Agosto 27, 2012 exemplo com Array (algo semelhante): ... function carrega(e:MouseEvent):void{ if (link.url != e.currentTarget.arquivo){ link.url = e.currentTarget.arquivo; //... } } É exatamente isso... Mas só não precisa disso link.url != e.currentTarget.arquivo Você poderia chamar: javascriptFunc( e.target.arquivo ); Assim você pode passar os parâmetros que quiser para o javascript... Parabéns, Vou indo... Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 27, 2012 Sim, a linha que mencionou faz a verificação para não recarregar a página. Apenas postei trechos de outro arquivo, ainda não adaptei ao code que estou usando. Vejo isso agora mesmo. Muito obrigada pela atenção caro amigo. Grande abraço :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 28, 2012 Bem, o principal já consegui, acessar a id no html pelo xml com navegação em grupo . Pra ficar pefeito, agora é só criar o índice para verificar o thumb clicado, sem cases. uhuuuuuu :clap: Compartilhar este post Link para o post Compartilhar em outros sites
Elektra 102 Denunciar post Postado Agosto 30, 2012 Roger, agora tá beleza, sem switch! :grin: anterior: var num:String = clickPic.slice(3,4); correção: var num:int = int(clickPic.slice(3)); Abraços tópico [Resolvido] Compartilhar este post Link para o post Compartilhar em outros sites