Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Creazione di un Evento [AS3]

    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

    codice:
    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)
    Già se faccio addEventListener a su mioMenu mi dice

    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?

  2. #2
    ho risolto molto più semplicemente estendendo la classe sprite per MainMenu

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.