• User

    Problemi con Galleria Xml

    ciao a tutti, avevo gia avuto problemi con una galleria Xml, ma nn sono riuscito a risolverlo, adesso dopo un pò di ricerche sul web ho cercato di approfondire la mia conoscenza ma arrivo cmq a un dubbio vi posto il mio codice

    //Load XML Data
    function loadXML(loaded) {
    	if (loaded) {
    		xmlNode = this.firstChild;
    		immagini = [];
    		info = [];
    		link = [];
    		LunghezzaNodi = xmlNode.childNodes.length; //calcola la lunghezza
    		for (i=0; i<LunghezzaNodi; i++) {
    			immagini* = xmlNode.childNodes*.childNodes[0].firstChild.nodeValue;
    			//trace("Nodo delle immagini:     "+xmlNode.childNodes*.childNodes[0].firstChild.nodeValue); //LEGGE TUTTI I NODI IMMAGINI
    			
    			info* = xmlNode.childNodes*.childNodes[1].firstChild.nodeValue;
    			//trace ("Nodo delle info:            " +xmlNode.childNodes*.childNodes[1].firstChild.nodeValue);
    			
    			link* = xmlNode.childNodes*.childNodes[2].firstChild.nodeValue;
    			//trace("Nodo dei Link:       "+xmlNode.childNodes*.childNodes[2].firstChild.nodeValue);
    		}
    		
    		posizioneX = 10;
    		
    		for (i=0; i<LunghezzaNodi; i++) 
    
    {
    	
    		duplicateMovieClip(thumb, "thumb"+i, i);  //duplica tante thumb quante sono le i 
    		thumb.loadMovie(immagini*);
    		_root["thumb"+i]._x=posizioneX;
    		posizioneX+=10;
    		
    }
    		
    		
    	} else {
    		msg.text = "Error loading XML";
    	}
    }
    xmlData = new XML();
    xmlData.ignoreWhite = true;
    xmlData.onLoad = loadXML;
    xmlData.load("galleria.xml");
    stop();
    
    

    Quello che nn riesco a capire è questo: dentro il ciclo for il contenitor thumb (il quale è posizionato sullo stage e istanziato come thumb) viene duplicato ( per prova al suo interno ho fatto un segno con la matita) e viene distanziato regolarmente, il mio problema è però che, vinene caricata solamente l ultima foto dentro questo contenitore, e non tutte le foto (un totale di 6)...come facio a far si che a ogni thumb duplicato assegno un immagine?

    dove sbaglio??

    spero di essere stato chiaro e ringrazio anticipatamente 🙂


  • Super User

    Ciao 🙂

    Lo dico sempre e lo ripeto ancora 🙂 ( sempre parere personale )

    Mai usare duplicateMovieClip !
    Usa createEmptyMovieClip e avrai sempre vita più facile con Flash 😉


  • User

    Grazie per la risposta, approfitto di questo topic per fare un altra domanda...

    ho seguito un altra strada, ho usato attach per attaccare delle thumbNail

    questo il mio Script

    
    var miniatura:MovieClip=attachMovie("miniatura", "miniatura"+i, getNextHighestDepth());   //miniature
    var pulsante:MovieClip=attachMovie("pulsante","pulsante"+i, getNextHighestDepth()); //pulsanti che vanno sopra le anteprime
    miniatura.loadMovie(anteprime*); 
    

    ora la mia domanda è questa:

    vorrei applicare una maschera su tutte le miniature, solo che non ci riesco ho provato a fare cosi:

    miniatura.setMask(miaMaschera);

    ma non mi maschera...

    anche maschera l avevo attaccata con l attach.....

    dove Sbaglio???

    grazie ancora!


  • Super User

    Ciao,
    credo che il problema sia loadMovie.
    Quando gli assegni la maschera, la miniatura ha già caricato l' SWF ?
    No 🙂
    Dovresti provare ad assegnare la maschera quando l' SWF è stato caricato.
    Quindi usa MovieClipLoader...


  • User

    grazie sempre disponibile, appena ho tempo provo


  • User

    ciao, ho creato il movieClipLoader

    per verificare che abbia caricato faccio un trace in onLoadComplete e mi da questo risultato

    caricamento completato_level0.miniatura0
    caricamento completato_level0.miniatura1
    caricamento completato_level0.miniatura2
    caricamento completato_level0.miniatura3
    caricamento completato_level0.miniatura4
    caricamento completato_level0.miniatura5
    caricamento completato_level0.miniatura6
    caricamento completato_level0.miniatura7
    caricamento completato_level0.miniatura8
    caricamento completato_level0.contenitore
    
    

    il che va bene, perche carica tutte le miniature e anche il contenitore dove caricherò la foto grande...adesso però se faccio

    miamaschera.setMask(miniature); non ottengo quello che voglio....

    non capisco bene dove lo devo mettere, l ho messo anche dentro onLoadComplete, ma non ottengo quello che voglio

    vi ringrazio ancora:):yuppi:


  • Super User

    Ciao 🙂

    Ok, da quello che mi ricordo di AS 2.0, credo che per mascherare sia il contrario di quello che stai scrivendo:
    miniature.setMask(miamaschera);


  • User

    Se lo scrivo come dici te non mi maschera ugualmente ma non si vede l ultima Thumb.....

    il tutto è dentro un ciclo for e la maschera l attacco con un attach....😢