Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    49

    xml+flash galleria complicata

    Buona sera!
    dopo molte ricerche mi son decisa a chiedervi aiuto...
    perche non riesco ad arrivare a una soluzione.. essendo alle prime armi con
    action script..
    allora ecco il mio problema:
    io devo realizzare una galleria di immagini all'apertura della pagina devono vedersi una serie di immagini diciamo se fosse una tabella potrebbero essere 3 colonne e 4 righe ognuna contenene l'immagine con il suo titolo.

    poi io devo prevedere una ricerca per parole chiave di queste immagini

    e poi devo poter cliccare sulle immagini e vedere il dettaglio con le dimensioni e i vari dati

    ora dopo alcune ricerche ho concluso che il modo migliore per fare questo è usare un semplice file xml esterno e poi da flash richiamarlo ...
    ma gli esempi che ho trovato non sono specifici come quello che devo fare.. e io non ho idea di dove iniziare..
    qualc'1 ha un tutolrial da consiglarmi o qualche consiglio?

    fle xml:


    <?xml version="1.0" encoding="UTF-8" ?>
    <elenco>
    <quadro nome="quadro1" dimensione="20x40" tecnica="olio su tela" foto="img/f1.jpg">
    <info critica="testo1" link="http://" />
    </quadro>

    <quadro nome="quadro2" dimensione="100x50" tecnica="olio su tela" foto="img/f2.jpg">
    <info critica="testo2" link="http://" />
    </quadro>
    <quadro nome="quadro3" dimensione="30x40" tecnica="olio su tela" foto="img/f3.jpg">
    <info critica="testo3" link="http://" />
    </quadro>

    </elenco>

  2. #2
    ti consiglio di dare uno sguardo nella guida di flashmx x l'interazione tra flash e xml
    http://flash.html.it/guide/leggi/118/guida-flash-e-xml/
    x la ricerca nn so se solo con flash riesci a farla
    l'ideale sarebbe usare un db ed una pag php o asp x avere la lettura dei dati e delle img e sempre con asp o php fai anche la ricerca
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    volendo, puoi registrare l'array con una sola chiamata e poi gestirlo per il resto del tempo e delle azioni direttamente dentro flash
    l'ideale sarebbe parsare l'xml dentro un oggetto, ad esempio un array di cui ogni elemento sia un object con le caratteristiche dell'immagine (nome, dimensione, tecnica ecc...)

    per quanto riguarda la ricerca, neanche questa dovrebbe essere complicatissima, ma bisognerebbe vedere a cosa dovrebbero puntare le parole chiave (cioè se vuoi ad esempio fare una ricerca selettiva su tutte le immagini con "tecnica=olio su tela", oppure una ricerca generica per cui inserisci in un field una parola e questa viene cercata per corrispondeza su tutti i dati di ogni singolo quadro)

    intanto io il tuo xml lo parserei in questo modo

    codice:
    var xmlfile:String = "quadri.xml";
    var parsed:Array = new Array();
    var parser:XML = new XML();
    parser.ignoreWhite = true;
    parser.onLoad = function(ok) {
    	if (this.loaded) {
    		var temp = this.firstChild.childNodes;
    		for (var i = 0; i<temp.length; i++) {
    			parsed[i] = {quadro:{nome:temp[i].attributes.nome, dimensione:temp[i].attributes.dimensione, tecnica:temp[i].attributes.tecnica, foto:temp[i].attributes.foto}, info:{critica:temp[i].firstChild.attributes.critica, link:temp[i].firstChild.attributes.link}};
    		}
    	} else {
    		trace("parse error");
    	}
    };
    parser.load(xmlfile);

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    49
    Vi ringrazio!
    grazie and80
    ho provato lo script funziona! ma ora come posso far vedere i 12 record in ogni pagina con immagine +nome cliccabili?
    per la ricerca forse è meglio mettere una chiave che poi non venga visualizzata:

    <quadro nome="quadro1" dimensione="20x40" tecnica="olio su tela" foto="img/f1.jpg" cerca="campagna natura agricolo paesaggio">
    <info critica="testo1" link="http://" />
    </quadro>

    grazie crescenzo
    ma pensavo di non utilizzare database e ...asp..php.. xkè mi sembra già complicato così..

    per la ricerca ho provato a fare questo..una cavolata?


    {
    for (n=0; n<xmlDoc.firstChild.childNodes.length; n++) {
    nome.push(xmlDoc.firstChild.childNodes[n].attributes.nome);
    foto.push(xmlDoc.firstChild.childNodes[n].attributes.foto);
    cerca.push(xmlDoc.firstChild.childNodes[n].attributes.cerca);
    }
    }

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    >> ma ora come posso far vedere i 12 record in ogni pagina con immagine +nome cliccabili?

    un passo per volta, intanto ti ho fatto vedere come puoi parsare i dati in un solo array da utilizzare sia per la galleria che per la ricerca

    non ho capito con esattezza come vuoi impostare la galleria,
    ovviamente poi spetta a te utilizzare i dati nel modo che ritieni più opportuno

    per quanto riguarda la ricerca, non hai bisogno di utilizzare quel codice, perchè hai già la chiave del parsing nel codice che ti ho postato, basta aggiungere nella zona opportuna l'attributo "cerca" per ogni oggetto "quadro" inserito nell'array

    ora, detto questo, entriamo nello specifico del codice e della zona in cui puoi fare il tuo lavoro di codice per la galleria, riprendiamo il codice precedente e aggiungiamo il necessario (in rosso)

    codice:
    var useArray:Function = function(array:Array):Void {
    	for(var k = 0; k<array.length; k++){
    		// per accedere all'oggetto "quadro" di ogni nodo dell'array
    		// uso la notazione -> array[k].quadro
    		// in questo trace, traccio il nome di ogni quadro
    		trace(array[k].quadro.nome);
    		//
    		// stessa cosa per accedere a "info"
    		// in questo trace, traccio la critica contenuta in ogni info
    		trace(array[k].info.critica);
    	}
    }
    var xmlfile:String = "quadri.xml";
    var parsed:Array = new Array();
    var parser:XML = new XML();
    parser.ignoreWhite = true;
    parser.onLoad = function(ok) {
    	if (this.loaded) {
    		var temp = this.firstChild.childNodes;
    		for (var i = 0; i<temp.length; i++) {
    			parsed[i] = {quadro:{nome:temp[i].attributes.nome, dimensione:temp[i].attributes.dimensione, tecnica:temp[i].attributes.tecnica, foto:temp[i].attributes.foto, cerca:temp[i].attributes.cerca}, info:{critica:temp[i].firstChild.attributes.critica, link:temp[i].firstChild.attributes.link}};
    		}
    		useArray(parsed);
    	} else {
    		trace("parse error");
    	}
    };
    parser.load(xmlfile);

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    49
    ok! quindi adesso se invece della critica vorrei far vedere l'immagine:

    trace(array[k].quadro.foto);


    e in effetti ..mi da le coordinate dell'immagine!

    ora la galleria dovrebbe essere così:
    ogni immagine con sotto il titolo dovrebbe esser cliccabile --->in una nuova pagina comparirà l'immagine più grande e le altre voci
    ..ma ora che ci penso devo inserire nel xml sia il link all'immagine grande che a quella piccola...quindi:

    <quadro nome="quadro1" dimensione="20x40" tecnica="olio su tela" foto="img/f1.jpg" fotog="imgg/g1.jpg" cerca="campagna natura agricolo paesaggio">
    <info critica="testo1" link="http://" />
    </quadro>

    così che fotog sia quella grande...

    ora?
    .. complicato..

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    49
    grazie per tutto l'aiuto ...vi stufo ancora..
    però non ho capito come fare dopo che ho estrapolato i dati a renderli visibili?
    c'è un tutorial.. qualche indicazione..

    non so proprio dove sbattere la testa..

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se non sbaglio, tra i tutorial di flash.html.it ce n'è uno di rempox su come realizzare una galleria dinamica, solo che non ricordo se è fatta con XML, puoi prendere spunto da quella

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.