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

    [Flash-AIR, AS3]Problema passaggio parametri tra stage e MovieClip

    Salve a tutti.
    Come da titolo, ho un problema nel passare dei parametri dalla timeline principale ad un MovieClip instanziato tramite AS3.
    Il programma gira su Android.

    Ecco il codice:
    - Timeline principale:
    codice:
    var gallery:Gallery=new Gallery();
    gallery.x=400;
    gallery.y=240;
    gallery.sorgenteFile=f.url;
    gallery.sorgenteXML=galleryLink;
    var timer:Timer=new Timer(0);
    timer.addEventListener(TimerEvent.TIMER, function(){
    		if(gallery.uscitaPremuto){
    			timer.stop();
    			removeChild(gallery);
    		}
    });
    timer.start();
    addChild(gallery);
    dove gallery è il MovieClip in questione e sorgenteFile e sorgenteXML sono i campi del MovieClip che voglio popolare.

    - MovieClip:

    codice:
    import flash.net.URLLoader;
    import flash.events.Event;
    import flash.net.URLRequest;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    
    var uscitaPremuto:Boolean=false;
    var numImg:int;
    var totImg:int;
    var sorgenteFile:String=null;
    var sorgenteXML:String=null;
    var loaderXML:URLLoader=new URLLoader();
    var img:XMLList;
    var xmlCarico:Boolean=false;
    var tg:Timer=new Timer(0);
    
    Multitouch.inputMode = MultitouchInputMode.GESTURE;
    loaderImg.addEventListener (TransformGestureEvent.GESTURE_SWIPE, strisciaturaImg);
    exitBtnGallery.addEventListener(MouseEvent.CLICK, function(){
    		uscitaPremuto=true;				
    });
    loaderXML.addEventListener(Event.COMPLETE, caricaXML);
    tg.addEventListener(TimerEvent.TIMER, controlloDati);
    
    function strisciaturaImg(event:TransformGestureEvent)
    {
    	if(numImg>1 && numImg<totImg){
    		switch(event.offsetX)
    		{
    			// strisciato a destra
    			case 1:
    			{
    				cambiaImmagine(false);
    				break;
    			}
    			// strisciato a sinistra
    			case -1:
    			{
    				cambiaImmagine(true);
    				break;
    			}
    		}
    	}else if(numImg==1){
    		if(event.offsetX==-1){
    			cambiaImmagine(true);
    		}
    	}else if(numImg==totImg){
    		if(event.offsetX==1){
    			cambiaImmagine(false);
    		}
    	}
    }
    function controlloDati(e:TimerEvent){
    	if(sorgenteFile!=null && sorgenteXML!=null){
    		tg.stop();
    		loaderXML.load(new URLRequest(sorgenteFile+sorgenteXML));
    	}
    }
    function cambiaImmagine(avanti:Boolean){
    	if(xmlCarico){
    		if(avanti){
    			numImg++;
    		}else{
    			numImg--;
    		}
    		loaderImg.source=sorgenteFile+img[numImg-1];
    		contoImgTxt.htmlText="<font color=\"#FF0000\">" + numImg + "</font>/" + totImg;
    	}
    }
    function caricaXML(e:Event){
    	var xml:XML=e.target.data;
    	xmlCarico=true;
    	totImg=int(xml.immagini.totImg[0].text());
    	numImg=0;
    	img=xml.immagini.src.text();
    	cambiaImmagine(true);
    	loaderXML.removeEventListener(Event.COMPLETE, caricaXML);
    }
    tg.start();
    stop();
    dove loderImg è un oggetto di classe UILoader impostato in autoload.
    Ammetto di essere un neofita di AS3, perciò siate chiarissimi per favore

    Vi ringrazio in anticipo per la disponibilità.
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

  2. #2
    ho risolto.
    grazie a tutti comunque. potete chiudere.
    I miei esempi in Java qui: http://cdpjavaexamples.altervista.org/index.html

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.