Raul.Rib 0 Denunciar post Postado Maio 28, 2009 Olá novamente!! tenho uma série de botões instanciados de "img1_btn" a "img40_btn" e preciso fazer o seguinte: img1_btn.addEventListener(MouseEvent.CLICK, carrega1) function carrega1(e){ fotografia = 1 } img2_btn.addEventListener(MouseEvent.CLICK, carrega2) function carrega2(e){ fotografia = 2 } img3_btn.addEventListener(MouseEvent.CLICK, carrega3) function carrega3(e){ fotografia = 3 } eu preciso MESMO criar 40 funções? nao tem um modo que eu possa automatizar isso? obrigado! Raul Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Junho 1, 2009 Quando você usa um listener de click, mouse over, etc, ele sempre herda as informações do objeto que disparou o evento. No caso você pode usar isso para não precisar fazer 40 funções. //percorre todas as imagens que irão ter ação //sua variável de fotografia var fotografia:Number; //qtd de botoes var qtd:Number = 40; for(var i:Number = 0; i < qtd; i++) { //adiciona o movieClip do palco a uma variável do tipo MovieClip var img:MovieClip = this["img"+i+"_btn"]; //salva um id para este movieClip img.id = i; //adiciona o click para o MovieClip img.addEventListener(MouseEvent.CLICK, onClick); } //função de click function onClick (e:MouseEvent):void { //mostra o id do movieClip clicado trace(e.target.id); fotografia = e.target.id; } Abrs Compartilhar este post Link para o post Compartilhar em outros sites
Raul.Rib 0 Denunciar post Postado Junho 4, 2009 Olá Italo! obrigado pela resposta! mas quando tento seu código, ele da uma msg de erro: TypeError: Error #1009: Cannot access a property or method of a null object reference. at fotografia_teste_fla::MainTimeline/fotografia_teste_fla::frame1() obrigado! Raul Compartilhar este post Link para o post Compartilhar em outros sites