Ciao, ho un problema con la gestione degli eventi. Come faccio ad accedere all'oggeto/istanza che ha generato l'evento?
Nel codice che riporto creo vari oggetti BtnNav (è una classe che estende Sprite e ha propri metodi) con un for. Ogni ciclo for richiama il metodo initBtnEvent, passando come parametro l'istanza di BtnNav. InitBtnEvent inizializza i listener. Il problema sorge quando viene richiamato il gestore di evento. Nell'esempio provo ad accedere al metodo twColorContinueTo di BtnNav, ma il compilatore mi dice che non è un metodo di evt.target.
Il trace mi rende [object Sprite] e non object BtnNav come mi aspetterei. Perche?
Da mouseOverHandler come faccio a fare riferimento all'oggetto su cui è registrato il listener?
codice:private function creaBtns() { for (var i:int=0; i<_pulsantiDati.length; i++) { var btn:BtnNav=new BtnNav(_pulsantiDati[i].etichetta, _pulsantiDati[i].link,_slideShow); initBtnEvent(btn); this.addChild(btn); } } private function initBtnEvent(dispatcher:BtnNav):void { dispatcher.addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler); dispatcher.addEventListener(MouseEvent.CLICK, mouseUpHandler); } private function mouseOverHandler(evt:MouseEvent) { trace(evt.target); evt.target.twColorContinueTo(Assets.MOUSE_OVER, 0.5); }

Rispondi quotando