Ho letto diversa roba in giro ma non riesco ad applicarla a ciò che sto facendo.
Sto cercando di convertire una classe da AS2 ad AS3, il suo scopo è quello di creare un menu, passando un xml.
Ho creato un package con gli eventi
MainMenuEvent.as
codice:package mie.MainMenu { import flash.events.*; public class MainMenuEvent extends EventDispatcher { public static const CREATED : String = "created"; public static const COMPLETED : String = "completed"; public function menuCreated():void { trace("OOO") dispatchEvent(new Event(MainMenuEvent.CREATED)); } } }
MainMenu.as
codice:package mie.MainMenu { public class MainMenu { import mie.MainMenu.MainMenuEvent; import flash.display.Sprite; import flash.display.MovieClip; import flash.events.Event; /------ private var eventiMenu:MainMenuEvent = new MainMenuEvent(); private var xmlLoader:URLLoader = new URLLoader(); function MainMenu(nome:String, sprite:Sprite, verso:String = "ori", distanza:Number = 0, myEase:Object = undefined, time:Number = 0 , total:Number = 0){ //bla bla } public function setXML(xml){ //semplifico creaMenu(nodoMain, path) } private function creaMenu(nodoMain:XMLList, path:Object){ var item:XML; var i=0; for each(item in nodoMain) { //bla bla i++; } eventiMenu.menuCreated(); //LANCIO L'EVENTO (vedo il trace ooooo) } .........
Ora come cavolo faccio a richiamarlo in una istanza di MainMenu?
Prova.as
Già se faccio addEventListener a su mioMenu mi dicecodice:import mie.MainMenu.* import flash.display.Sprite; var menu:MovieClip= new MovieClip() //function MainMenu(nome:String, sprite:Sprite, sorgente:String, verso:String = "ori", distanza:Number = 0, myEase:Object = undefined, time:Number = 0 , total:Number = 0){ var mioMenu:MainMenu = new MainMenu("pippo", menu, "ori", 20, undefined, 0,1) mioMenu.setXML("menu.xml") stage.addChild(menu) var creato:Function = function creato(e:Event){ trace("creato") } mioMenu.addEventListener("", creato)
1061: Call to a possibly undefined method addEventListener through a reference with static type mie.MainMenu:MainMenu.
Ma anche funzionasse cosa dovrei passargli come listener?

Rispondi quotando