fabriciobzt 0 Denunciar post Postado Janeiro 28, 2010 Ola bom dia a todos, Estou desenvolvendo uma página que que ira ter uma grande quantidade de eventos, tipo: botao_01.addEventListener(MouseEvent.CLICK,carregar_01); function carregar_01(e:MouseEvent):void{ var jscommand:String = "window.open('pagina_01.html','win','height=178,width=302,toolbar=no,scrollbars=yes');"; var url:URLRequest = new URLRequest("javascript:" + jscommand + " void(0);"); navigateToURL(url, "_self"); } botao_02.addEventListener(MouseEvent.CLICK,carregar_02); function carregar_02(e:MouseEvent):void{ var jscommand:String = "window.open('pagina_02.html','win','height=178,width=302,toolbar=no,scrollbars=yes');"; var url:URLRequest = new URLRequest("javascript:" + jscommand + " void(0);"); navigateToURL(url, "_self"); } botao_03, botao_04 e assim por diante.. Existe alguma maneira de criar uma sequencia (como por exemplo um while) para executar esse codigo sem que haja necessidade de criar tudo na mão? Desde ja obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Naty 3 Denunciar post Postado Janeiro 28, 2010 Olá não sou uma programadora avançada mais estou fazendo um projeto parecido... Depende de onde você ta criando este botoes... Se for atraves de xml fica facil é só fazer um for... Vou te dar um exemplo veja se ajuda... ;o) var camisetaTRequest:URLRequest = new URLRequest var camisetaTLoader:Loader var tamanhoCamisetaT:uint var camisetaTXMLRequest:URLRequest = new URLRequest ("arquivos_galerias/arquivos_futebol/transfer.xml") var camisetaTXMLLoader:URLLoader = new URLLoader camisetaTXMLLoader.load(camisetaTXMLRequest) var camisetaTXML:XML var camisetaT_mc:Sprite = new Sprite function exibiCamisetasT () { camisetaTXML = new XML (camisetaTXMLLoader.data) tamanhoCamisetaT = camisetaTXML.*.length() // for (var i:uint=0; i<tamanhoCamisetaT; i++) { var novaCamisetaT:MovieClip = new MovieClip camisetaT_mc.addChild(novaCamisetaT) camisetas_mc.addChild(camisetaT_mc) with (novaCamisetaT) { camisetaTLoader = new Loader camisetaTRequest.url = "arquivos_galerias/arquivos_futebol/transfer/" + "/camisa" + (i +1)+ ".png" camisetaTLoader.load(camisetaTRequest) // addChild(camisetaTLoader) camisetaTLoader.x = 320 * i camisetaTLoader.y = 0 buttonMode = true addEventListener(MouseEvent.CLICK, clicouCustomisa) } //Criação dinamica de variavel dentro de MC novaCamisetaT.customisa = camisetaTXML.*[i].@url } } function clicouCustomisa (evt:MouseEvent) { paginaRequest.url = evt.currentTarget.customisa paginaLoader = new Loader() paginaLoader.load(paginaRequest) // animaPagina.startTransition ({type:Fade, direction:Transition.IN, duration:0.5, easing:Regular.easeOut}) paginaLoader.x = 220 paginaLoader.y = 257 // conteinerPagina.addChild(paginaLoader) stage.addChildAt(conteinerPagina, 1) } Compartilhar este post Link para o post Compartilhar em outros sites
Michel Araújo 0 Denunciar post Postado Janeiro 30, 2010 se você mantiver o padrão para o nome dos botões fica fácil. Com um for você adiciona todos os listeners, e ainda define seu index (poderia usar substring dentro da função também, é um exemplo): var qntBotoes:uint = 4; for(var i:uint = 1; i<=qntBotoes; i++){ var index:String; if(i < 10){ index = '0'+i; }else{ index = i.toString(); } this['botao_'+index].addEventListener(MouseEvent.CLICK, carregar); this['botao_'+index].index = index; } isso pode ser simplificado, se você tirar o '0' nos nos nomes de botao menor que 10, bem como no nome dos arquivos. depois, dentro da função, você usa esse atributo index que criamos para o MC: function carregar_02(e:MouseEvent):void{ var jscommand:String = "window.open('pagina_"+e.currentTarget.index+".html','win','height=178,width=302,toolbar=no,scrollbars=yes');"; var url:URLRequest = new URLRequest("javascript:" + jscommand + " void(0);"); navigateToURL(url, "_self"); } Compartilhar este post Link para o post Compartilhar em outros sites
Matheus Brito 12 Denunciar post Postado Janeiro 30, 2010 Se não conseguir fazer nenhuma das duas soluções, pode fazer uma unica funcao com um switch que testa o nome do botao que ta sendo clicado dai você um case pra cada botao, mas aconselho a usar a solucao da nati ou algo daquele tipo. Abs Compartilhar este post Link para o post Compartilhar em outros sites