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

    importazione swf esterno e problema actionscript xml

    Salve a tutti
    Scusate per il titolo poco chiaro ma non sapevo proprio come metterlo comprensibile. Il problema che ho è il seguente.
    Ho un file, home.swf, che prende informazioni da un xml, le carica, crea i vari moviclip sullo stage e gli applica vari effetti di rollover, rollout e controllo del click con relativa azione. Il tutto è programmato in actionscript 3.0 e funziona benissimo. Ogni movieclip viene inserito progressivamente nello stage rispetto al precedente e ogni funzione di rollover, rollout e click funziona.
    Il problema si presenta quando importo questo swf all'interno di un altro, per esempio dentro sito.swf. Dopo averlo importato il tutto si presenta correttamente, ovvero carica tutti i file presenti nell'xml e li posiziona correttamente nello stage, eccezione fatta per le funzionalità di rollover, rollout e click. Queste funzionalità risultano attive solo sul primo movieclip e non per tutti gli altri.
    Ogni movieclip ha un nome di istanza diverso, mc1, mc2, mc3 ecc ed il numero è relativo al numero degli elementi presenti nell'xml.
    Non so proprio come fare, non mi stampa nessun errore, ho provato a fare svariati array o cicli for per attivare le funzioni del pulsante anche agli altri ma niente. L'swf da solo funziona, ma dentro ad un altro swf non funziona più.
    Ringrazio tutti per l'aiuto
    CLAN group
    SONO CONVINTO CHE ESISTANO ALTRE DIMENSIONI...SOPRATTUTTO QUANDO MI GUARDO NUDO ALLO SPECCHIO

  2. #2
    Vi posto il codice dell'home.swf
    Codice PHP:
    import flash.display.Loader;
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import fl.transitions.Tween;
    import fl.transitions.easing.*;
    import fl.transitions.TweenEvent;
    import flash.events.Event;
    import flash.events.IOErrorEvent;
    // .................................................. 
    // .................................................. 
    var URLFileXML:URLRequest;
    var 
    CaricatoreXML:URLLoader;
    var 
    GestoreXML:XML;
    var 
    Lista_FotoURL:XMLList;
    var 
    Lista_FotoTitolo:XMLList;
    var 
    URLFileIMG:URLRequest;
    var 
    CaricatoreIMG:Loader;
    var 
    CaricatoreInfo:LoaderInfo;
    var 
    ArrayIMG:Array;
    var 
    numeroImg:uint;
    var 
    idxImg:uint;
    var 
    format:TextFormat = new TextFormat();
    format.color=0xFa8100;
    format.font="Century Gothic";
    format.size=11;
    format.bold true;
    //format.bold = true;
    format.kerning=false;
    // Posizionamento iniziale delle Immagini sullo Stage
    var pos_x:uint=10;
    var 
    pos_y:uint=10;

    // ...L'oggetto URL relativo al File XML 
    URLFileXML    = new URLRequest();
    // ...Il Loader per il caricamento del File XML 
    CaricatoreXML = new URLLoader();
    // ...Aggiunta dell'evento COMPLETE al caricatore... 
    CaricatoreXML.addEventListener(Event.COMPLETECompletatoCaricamentoXML);
    // ...Ascoltatore per la gestione di eventuali errori che si possono 
    //    verificare durante il caricamento del file
    CaricatoreXML.addEventListener(IOErrorEvent.IO_ERRORErroreCaricamentoXML);
    // .................................................. 
    // ...L'oggetto URL relativo alle immagini da caricare  
    URLFileIMG    = new URLRequest();
    // Il Loader per il caricamento dell'immagine  
    CaricatoreIMG = new Loader();
    // .................................................. 
    // .................................................. 
    // l'Array che conterrà i riferimenti degli oggetti  
    // Loader (delle Immagini) creati dinamicamente.  
    ArrayIMG      = new Array();
    // .................................................. 
    // .................................................. 
    //  BEGIN  
    // .................................................. 
    // ...assegna il nome del File XML 
    URLFileXML.url="home.xml";
    // ...carica i File XML contenente i path delle 
    //    immagini ed i relativi titoli
    CaricatoreXML.load(URLFileXML);
    // .................................................. 
    //  END  
    // .................................................. 
    // .................................................. 
    //  FUNCTION : CaricamentoCompletatoXML()  
    //             Il File XML e' stato caricato 
    // .................................................. 
    function CompletatoCaricamentoXML(evento:Event):void {
        
    // ...il caricamento del File XML e' completato!!!  
        // ...crea un nuovo oggetto XML   
        
    GestoreXML=new XML(CaricatoreXML.data);
        
    // ...le liste XML per estrarre gli attributi 
        
    Lista_FotoURL=GestoreXML.foto.@url;
        
    Lista_FotoTitolo=GestoreXML.foto.@titolo;
        
    // ...numero dei TAGS <foto> url / Titolo    
        //    quante immagini ci sono nel catalogo xml 
        
    numeroImg=Lista_FotoURL.length();

        
    // ...caricamento delle Immagini :
        
    idxImg=0;

        
    // ...assegna l'url della prima immagine  
        
    URLFileIMG.url=Lista_FotoURL[idxImg];

        
    // ...crea un Loader per caricare l'immagine  
        
    CaricatoreIMG  = new Loader();

        
    // ...il contentLoaderInfo a cui associare gli ascoltatori
        
    CaricatoreInfo=LoaderInfo(CaricatoreIMG.contentLoaderInfo);

        
    // ...aggiungi asacoltatori : 
        // CaricatoreInfo.addEventListener(ProgressEvent.PROGRESS, ProgressioneCaricamentoIMG); 
        // ( l'Evento PROGRESS, se si desidera gestire la progressione del carcamento )
        
    CaricatoreInfo.addEventListener(Event.COMPLETECompletatoCaricamentoIMG);
        
    CaricatoreInfo.addEventListener(IOErrorEvent.IO_ERRORErroreCaricamentoIMG);

        
    // ...carica la prima Immagine.  
        
    CaricatoreIMG.load(URLFileIMG);
    }
    // .................................................. 
    // .................................................. 
    //  FUNCTION : ErroreCaricamentoXML()  
    //             Gestione degli eventuali errori di  
    //             caricamento (di un qualsiasi File)   
    // .................................................. 
    function ErroreCaricamentoXML(evento:IOErrorEvent):void {
        
    // ...si e' verificato un errore durante il 
        //    cariamento del file XML 
        
    trace("Errore di caricamento : " evento.type);
        
    trace("durante la lettura del File : " URLFileXML.url);
        
    trace("ABEND !");
    }
    // ..................................................  
    // .................................................. 
    //  FUNCTION : CompletatoCaricamentoIMG()  
    //             Il File IMG e' stato caricato  
    // .................................................. 
    function CompletatoCaricamentoIMG(evento:Event):void {
        
    // ...l'i-esima IMMAGINE e' stata caricata!  
        // ...crea una var di tipo loader (non l'oggetto loader)
        //    ed associagli il reference del loader (oggetto)
        //    dell'immagine caricata 
        
    var imgCaricata:Loader=Loader(evento.target.loader);
        
    // ...eventuali ridimensionamenti dell'Immagine 
        
    imgCaricata.width=40;
        
    imgCaricata.height=40;
        
    // imgCaricata.x = pos_x; 
        // imgCaricata.y = pos_y; 
        // **************************************************
        // ...se si vuole creare un movie clip che conterra' 
        //    l'immagine 
        
    var mc:MovieClip = new MovieClip();
        
    mc.buttonMode=true;
        
    mc.mouseChildren=false;
        
    mc.alpha=0.6;
        
    // ...es. eventuale click sull'immagine 
        
        // posizionamento del Movie Clip sullo Stage  
        
    mc.x=pos_x;
        
    mc.y=pos_y;
        
    // **************************************************

        // ...aggiungi il Titolo sotto l'immagine o dove vuoi 
        
    var KTitolo:TextField = new TextField();

        
    KTitolo.autoSize=TextFieldAutoSize.LEFT;
        
    KTitolo.antiAliasType=AntiAliasType.ADVANCED;
        
    KTitolo.defaultTextFormat=format;
        
    KTitolo.selectable=false;
        
    KTitolo.mouseEnabled=false;

        
    KTitolo.text=Lista_FotoTitolo[idxImg];
        
    KTitolo.x=pos_x+CaricatoreIMG.width+10;
        
    KTitolo.y=mc.y+15;
        
    KTitolo.alpha=0;
        
    // ...aggiungo 2 proprieta' al mc 
        //    il progressivo ed il componente TextField 
        //    cosi' quando ci sara' il click sull'i-esima 
        //    immagine sapro' chi e' :)
        
    mc.progressivo=idxImg;
        
    mc.cargo=KTitolo;


        
    // ...salva nell'Array il referenze dell'Immagine o del 
        //    movieClip 
        // ArrayIMG[idxImg] = imgCaricata; 
        
    ArrayIMG[idxImg]=mc;

        
    // ...aggiungi l'immagine nel movieclip
        
    mc.addChild(imgCaricata);
        
    // ..aggiungi allo Stage 
        
    mc.name "mc"+idxImg;
        
    this.addChild(mc);
        
        
    mc.addEventListener(MouseEvent.CLICKclickImmagine );
        
    mc.addEventListener(MouseEvent.MOUSE_OVERhover );
        
    mc.addEventListener(MouseEvent.MOUSE_OUTout );

        
    // ...aggiungi eventuale Titolo/descrizione, etc... 
        
    addChild(KTitolo);

        
    // ...

        // ...controlla se le immagini da caricare sono finite  
        
    if (idxImg < (numeroImg-1)) {
            
    // ...non ancora, procedo con la prossima...   
            
    CaricaProssimaImmagine();
        } else {
            
    // ......................................................... 
            // >>> IN QUESTO PUNTO TUTTE LE IMMAGINI SONO STATE CARICATE 
            // ......................................................... 
            
    CaricatoreInfo.removeEventListener(Event.COMPLETECompletatoCaricamentoIMG);
            
    CaricatoreInfo.removeEventListener(IOErrorEvent.IO_ERRORErroreCaricamentoIMG);
        }
    }
    // .................................................. 
    // .................................................. 
    //  FUNCTION : ErroreCaricamentoIMG()  
    //             Gestione degli eventuali errori di  
    //             caricamento di un file IMG 
    // .................................................. 
    function ErroreCaricamentoIMG(evento:IOErrorEvent):void {
        
    // trace("Errore di caricamento : " + evento.type); 
        // trace("durante la lettura del File : " + URLFileIMG.url); 
        // trace("ABEND!");           
        // ...procedi comunque :

        // ...controlla se le immagini da caricare sono finite  
        
    if (idxImg < (numeroImg 1)) {
            
    // ...creo un nuovo Loader per la prossima immagine  
            
    CaricatoreIMG  = new Loader();

            
    // ...ed un nuovo LoaderInfo 
            
    CaricatoreInfo=LoaderInfo(CaricatoreIMG.contentLoaderInfo);

            
    // ...gli ascoltatori vanno aggiunti di nuovo : 
            //    si tratta di un nuovo oggetto  
            // CaricatoreInfo.addEventListener(ProgressEvent.PROGRESS, ProgressioneCaricamentoIMG); 
            
    CaricatoreInfo.addEventListener(Event.COMPLETECompletatoCaricamentoIMG);
            
    CaricatoreInfo.addEventListener(IOErrorEvent.IO_ERRORErroreCaricamentoIMG);

            
    // ...nel caso si voglia lasciare comunque dello spazio relativo
            //    all'immagine non caricata ( altrimenti commetare )  
            //    ( la width dello spazio e' quella dell'immagine precedente )
            
    pos_y=pos_y+ArrayIMG[idxImg-1].height+10;

            
    // ...immagine successiva  
            
    idxImg++;
            
    // ...assegna url  
            
    URLFileIMG.url=Lista_FotoURL[idxImg];
            
    // ...carica!  
            
    CaricatoreIMG.load(URLFileIMG);
        } else {
            
    // ......................................................... 
            // >>> IN QUESTO PUNTO TUTTE LE IMMAGINI SONO STATE CARICATE 
            // ......................................................... 
            
    CaricatoreInfo.removeEventListener(Event.COMPLETECompletatoCaricamentoIMG);
            
    CaricatoreInfo.removeEventListener(IOErrorEvent.IO_ERRORErroreCaricamentoIMG);
        }
    }
    // .................................................. 
    // .................................................. 
    //  FUNCTION : CaricaProssimaImmagine()
    //             carica prossima Immagine in Array
    // .................................................. 
    function CaricaProssimaImmagine() {
        
    // ...creo un nuovo Loader per la prossima immagine  
        
    CaricatoreIMG  = new Loader();

        
    // ...ed un nuovo LoaderInfo 
        
    CaricatoreInfo=LoaderInfo(CaricatoreIMG.contentLoaderInfo);

        
    // ...gli ascoltatori vanno aggiunti di nuovo : 
        //    si tratta di un nuovo oggetto  
        // CaricatoreInfo.addEventListener(ProgressEvent.PROGRESS, ProgressioneCaricamentoIMG); 
        
    CaricatoreInfo.addEventListener(Event.COMPLETECompletatoCaricamentoIMG);
        
    CaricatoreInfo.addEventListener(IOErrorEvent.IO_ERRORErroreCaricamentoIMG);

        
    // ...immagine successiva  
        
    idxImg++;
        
    // ...assegno url  
        
    URLFileIMG.url=Lista_FotoURL[idxImg];

        
    // ...calcola la posizione successiva  
        
    pos_y=pos_y+ArrayIMG[idxImg-1].height+10;

        
    // ...carica!  
        
    CaricatoreIMG.load(URLFileIMG);

    }

    // .................................................. 
    //  FUNCTION : clickImmagine()  
    //             Gestione click sull'immagine 
    // .................................................. 
    function clickImmagine(evento:MouseEvent):void {
        
    // ...su quale immagine hai clikkato ?
        
    trace("click sull'immagine : " evento.target.progressivo);
        
    trace("click sull'immagine : " evento.target.cargo.text);
        
    trace(evento.target.name);
    }
    function 
    hover(e:MouseEvent):void {
        var 
    sca1:Tween=new Tween(e.target,"scaleY",Strong.easeOut,1,1.2,1,true);
        var 
    sca2:Tween=new Tween(e.target,"scaleX",Strong.easeOut,1,1.2,1,true);
        var 
    alph:Tween=new Tween(e.target,"alpha",Strong.easeOut,0.6,1,1,true);
        var 
    alph1:Tween=new Tween(e.target.cargo,"alpha",Strong.easeOut,0,1,0.6,true);
    }
    function 
    out(e:MouseEvent):void {
        var 
    sca3:Tween=new Tween(e.target,"scaleY",Strong.easeOut,e.target.scaleY,1,1,true);
        var 
    sca4:Tween=new Tween(e.target,"scaleX",Strong.easeOut,e.target.scaleX,1,1,true);
        var 
    alph2:Tween=new Tween(e.target,"alpha",Strong.easeOut,e.target.alpha,0.6,1,true);
        var 
    alph3:Tween=new Tween(e.target.cargo,"alpha",Strong.easeOut,e.target.cargo.alpha,0,0.6,true);
    }
    // .................................................. 
    // ...end of my hard JOB :)
    // ...share your knowledge!!!! 
    Come ho detto, il file singolarmente funziona benissimo, appena però lo importo in un altro swf solo il primo moviclip inserito risulta funzionanate

    Spero nel vostro aiuto
    CLAN group
    SONO CONVINTO CHE ESISTANO ALTRE DIMENSIONI...SOPRATTUTTO QUANDO MI GUARDO NUDO ALLO SPECCHIO

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.