Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Caricamento immagini

  1. #1
    Utente di HTML.it L'avatar di gpalmia
    Registrato dal
    Oct 2002
    Messaggi
    128

    Caricamento immagini

    Salve a tutti.
    Devo caricare dei file jpg da mettere sullo stage.
    URL e titolo delle immagini sono scritti su un file XML, quindi devo caricare il file XML utilizzando le solite classi URLLoader e XML e l'evento COMPLETE della classe URLLoader.
    Quando ho caricato il file nell'oggetto XML inserisco i dati (URL e Titoli) in due XMLList e poi usando un ciclo For each estraggo i percorsi dei file jpg dalla lista per caricare le immagini con un oggetto Loader. Come al solito, sempre utilizzando l'evento COMPLETE dell'oggetto Loader, per ogni immagine caricata, ne definisco la posizione e la aggiungo allo stage.
    Purtroppo solo una immagine viene aggiunta allo stage (la prima) ma non le sucessive.
    Dove sbaglio?
    Ecco il codice

    var URLFileXML :URLRequest;
    var LoaderXML :URLLoader;
    var GestoreXML :XML;
    var strURL :String = "Immagini/Immagini.xml";
    var Lista_FotoURL :XMLList;
    var Lista_FotoTitoli :XMLList;
    var URLFileIMG :URLRequest;
    var CaricatoreIMG :Loader;
    var CaricatoreInfo :LoaderInfo;
    var pos_x :uint;
    var pos_y :uint


    URLFileXML = new URLRequest;
    LoaderXML = new URLLoader;
    URLFileXML.url = strURL;
    LoaderXML.addEventListener(Event.COMPLETE,Completa toCaricamentoXML);
    LoaderXML.load(URLFileXML);

    function CompletatoCaricamentoXML(e:Event):void
    {
    GestoreXML=new XML(e.target.data);
    CaricaFoto(GestoreXML)
    }

    function CaricaFoto(Dati:XML):void
    {
    Lista_FotoURL=Dati.foto.@url;
    Lista_FotoTitoli=Dati.foto.@titolo;

    for each (var path:XML in Lista_FotoURL)
    {
    URLFileIMG = new URLRequest;
    URLFileIMG.url = path;
    CaricatoreIMG = new Loader;
    CaricatoreInfo = LoaderInfo(CaricatoreIMG.contentLoaderInfo);
    CaricatoreInfo.addEventListener(Event.COMPLETE,Com pletatoCaricamentoIMG);
    CaricatoreIMG.load(URLFileIMG);
    }
    }

    function CompletatoCaricamentoIMG(e:Event):void
    {
    var imgCaricata:Loader=Loader(e.target.loader);
    imgCaricata.width = 100;
    imgCaricata.height = 100;
    imgCaricata.x = pos_x + imgCaricata.width + 5;
    imgCaricata.y = pos_y;
    addChild(imgCaricata)
    }

    Qualche consiglio??
    Grazie per la cortese risposta.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Usi sempre lo stesso loader per caricare le immagini quindi una sostituisce l'altra.
    Sarebbe conveniente fare in questo modo, crei un array fuori dalle funzioni e poi usi quello riempiendolo con un nuovo loader.

  3. #3
    Utente di HTML.it L'avatar di gpalmia
    Registrato dal
    Oct 2002
    Messaggi
    128
    Si può riempire un array con un loader??

  4. #4
    Utente di HTML.it L'avatar di gpalmia
    Registrato dal
    Oct 2002
    Messaggi
    128
    ... C'è un banale problema di posizionamento delle clip!
    Infatti vengono tutte posizionate nello stesso punto dello stage e così appaiono sovrapposte: vedi la terz'ultima riga di codice

    imgCaricata.x = pos_x + imgCaricata.width + 5;

    pos_x è fisso e quindi ad ogni loop tutte le clip vengono posizionate nello stesso pto.

    Ciao.

    PS: comunque c'è ancora qualcosa di poco chiaro e cioè la sucessione delle immagini che non è la stessa indicata dalla lista ottenuta dal loader XML....
    Scopriremo anche questo!?!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.