italoborges 0 Denunciar post Postado Março 26, 2009 Eu de novo hehehe; Tenho o seguinte "problema" que não sei como resolver. Tenho 3 classes: News Call Item News chama a classe Call, Call chama a classe Item, e dentro de Item tem um listener de MouseEvent.CLICK. O que eu gostaria de fazer é, quando a classe Item disparar um evento de Click, a classe News recebe esse disparo, sem ter que passar pela Call. É possível? Abrs Compartilhar este post Link para o post Compartilhar em outros sites
Eder Fortunato 15 Denunciar post Postado Março 26, 2009 existe no AS3 um esquema chamado "bubbles", na hora que você vai instanciar um evento, você pode seta-lo como true, ai ele vai se "dispersar" por varios objeto (na verdade só os objetos que ele esta dentro) na classe Item: public function Item() { this.addEventListener(MouseEvent.MOUSE_DOWN, go) } public function go(e:MouseEvent) { trace('go') dispatchEvent(new Event("clicouItem", true)) } eu estou disparando um evento novo, o "clicouItem" repare o "true" ali do lado, ele serve para dizer que o evento vai ser ouvido por quem esta "a cima" dele no seu caso quem vai ouvir é o "Call" depois o "News", mas para eles fazerem algo, tem que ter o listener: public function News() { this.addEventListener("clicouItem", ouvir) } public function ouvir(e:Event) { trace('clicou em algum item') } testa ai pra ver, tenta tirar o "true" tb, você vai ver que não vai executar o evento []´s Compartilhar este post Link para o post Compartilhar em outros sites
linoart 0 Denunciar post Postado Março 27, 2009 desculpem a pergunta, mas ainda não entendo qual a função do dispatchEvent. please, poderiam me explicar?? Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 27, 2009 Então Lino, o dispacthEvent, como o próprio nome já diz, serve para disparar um evento. Exemplo: seubotão.addEventListener(MouseEvent.CLICK, onClick); function onClick (e:MouseEvent):void { trace("disparou"); } Caso você quiser disparar este evento sem ter que clicar no botão, você usaria: seubotão.dispatchEvent(new Event(MouseEvent.CLICK)); É um exemplo básico para você ver a utilidade dele. Compartilhar este post Link para o post Compartilhar em outros sites
italoborges 0 Denunciar post Postado Março 27, 2009 Eder, fiz o teste aqui e funcionou! Agora vou tentar criar um CustomEvent para poder passar variáveis. Valeu pela ajuda! Essa opção do bubbles facilita demais essa comunicação entre classes. Abrs. Compartilhar este post Link para o post Compartilhar em outros sites