- Home
- Categorie
- Digital Marketing
- Grafica, Visual Design & UX
- Problemi con Galleria Xml
-
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
-
Ciao
Lo dico sempre e lo ripeto ancora ( sempre parere personale )
Mai usare duplicateMovieClip !
Usa createEmptyMovieClip e avrai sempre vita più facile con Flash
-
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!
-
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...
-
grazie sempre disponibile, appena ho tempo provo
-
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:)
-
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);
-
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....