Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    associare un titolo ad un'immagine caricata random



    ciao a tutti, eccomi con un nuovo appassionante quesito.

    allora, avevo bisogno di caricare delle immagini random nel mio .fla, ho seguito il perfetto tutorial di enrico (secondo metodo, con xml) http://flash.html.it/articoli/leggi/...om-su-flash/1/ e senza problemi ho risolto.

    Il mio problema ora è questo. Come faccio a implementare il codice in modo che all'immagine caricata sia abbinato un titolo?

    Ho pensato (ed è quello che proverò a fare domani): faccio un mc per ogni titolo, lo metto sullo stage e gli do visible=0, poi costruisco una funzione per ciascuno mc che lo renda visibile, quindi nell'xml, con un href function taggo l'immagine corrispondente che me la richiama.
    che dite? potrebbe funzionare? ne so ancora molto poco, vado a tentativi, sicuramente ci sono modi più semplici, ed è per questo che chiedo aiutooo

  2. #2

  3. #3
    ma usi un xml o asp?

    se usi xml ti basta mettere oltre al percorso della foto da caricare anche il nome e poi leggere entrambe le cose ....senza fare i mc che poi alla fine sarebbe un macello pensa se le foto cambiano i crescono in numero....

    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 !

  4. #4
    ciao crescenzo, grazie come sempre.

    uso xml, si. Ma dici di aggiungere il nome nello stesso xml dove sono listate le foto?

    il mio xml è così:

    <?xml version="1.0" encoding="UTF-8"?>
    <images>
    <image>filesLIBRI/01.jpg</image>
    </images>

  5. #5
    e certo la cosa più conveniente

    <?xml version="1.0" encoding="UTF-8"?>
    <images>
    <image titolo="prova">filesLIBRI/01.jpg</image>
    </images>

    e poi leggi tutto nel flash

    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 !

  6. #6


    ehm, qui sto fondendo. non riescoa far leggere il titolo dentro al flash, che ha degli script per me molto complicati.

    il mio fla. è composto di quattro layer, tre per le azioni e uno per il mc all'interno del quale viene caricata l'immagine random.

    i tre layer e i rispettivi codici sono

    1) estrarre data per forzare il refresh (e fin qui tutto bene, non credo ci sia bisogno di toccarlo)

    function dateNumber() {
    var data_attuale = new Date();
    var giorno_attuale = data_attuale.getDate();
    var mese_attuale = data_attuale.getMonth()+1;
    var anno_attuale = data_attuale.getFullYear();
    var ora = data_attuale.getHours();
    var minuti = data_attuale.getMinutes();
    var secondi = data_attuale.getSeconds();
    var millisec = data_attuale.getMilliseconds();
    return (anno_attuale+""+mese_attuale+""+giorno_attuale+"" +ora+""+minuti+""+secondi+""+millisec);
    }


    2) caricamento xml e creazione arrays d'appoggio (E QUI COMINCIANO I PROBLEMI!)


    filexml = "imagesLIBRI.xml";
    ApriXML();
    function ApriXML() {
    mioxml = new XML();
    myarray = new Array();
    myarray2 = new Array();

    mioxml.load(filexml);
    mioxml.onLoad = ElaboraXML;
    function ElaboraXML(success) {
    if (mioxml.loaded) {
    myarray = mioxml.childNodes;
    Dati();
    loadRandom();
    loading.text = "";
    //(qui c'e' un passaggio che il tutorial suggeriva, non so se è necessario: elimino i vari array utilizzati per le operazioni in modo da liberare risorse)
    delete myarray;
    delete myarray2;
    delete mioxml;
    } else {
    loading.text = "Error!";
    }
    }
    }


    3) Funzione che prende i dati XML e li mette in degli Array e funzione che carica random ( e qui ti voglio!)

    function Dati() {

    image = new Array();
    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "images") {
    myarray2 = myarray[k].childNodes;
    for (j=0; j<=myarray2.length; j++) {
    if (myarray2[j].nodeName == "image") {
    image.push(myarray2[j].childNodes.toString());
    }
    }
    }
    }
    }

    // Funzione che estrae un elemento casuale dall'array dei files
    function loadRandom() {
    num_casuale = random(image.length);
    //trace(num_casuale)
    clip.loadMovie(image[num_casuale]);
    }




    Ora, dato che ho modificato l'xml come mi hai consigliato, dove metto le mani per fare in modo che il titolo venga caricato in un campo di testo?? mi sembra veramente un ginepraio, ho paura di incasinare tutto, sto leggendomi le guide di actionscript e xml che trovo ma un aiuto sarebbe fondamentale

  7. #7
    beh nella funzione che legge i dati...metti anche i titoli in un array come fai x le img



    function Dati() {
    titolo = newArray()
    image = new Array();
    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "images") {
    myarray2 = myarray[k].childNodes;
    for (j=0; j<=myarray2.length; j++) {
    if (myarray2[j].nodeName == "image") {
    titolo.push(myarray[k].attributes.titolo);
    image.push(myarray2[j].childNodes.toString());
    }
    }
    }
    }
    }


    poi nella funzione random inserisci anche il titolo
    in pratica adesso hai
    image[num_casuale] che sarebbe la tua img casuale ed il titolo
    titolo[num_casuale]

    quindi ora dovresti mettere una casella di testo dinamica ed assegnargli quel valore..

    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 !

  8. #8
    ehm , così??

    function loadRandom() {
    num_casuale = random(image.length);
    //trace(num_casuale)
    clip.loadMovie(image[num_casuale]);
    titolo_txt.text(titolo[num_casuale]);
    }


    (titolo_txt è il nome della casella di testo). La mia è una domanda retorica visto che ancora non funziona

    Probabilmente ho sbagliato qualcosa in quest'ultima parte che avevi lasciato in sospeso, riponendo troppa fiducia nelle mie scarse capacità :master:

  9. #9
    ma scusa dato che si tratta di xml metti qualche trace x vedere cosa succede....

    function Dati() {
    titolo = newArray()
    image = new Array();
    for (k=0; k<=myarray.length; k++) {
    if (myarray[k].nodeName == "images") {
    myarray2 = myarray[k].childNodes;
    for (j=0; j<=myarray2.length; j++) {
    if (myarray2[j].nodeName == "image") {
    titolo.push(myarray[k].attributes.titolo);
    image.push(myarray2[j].childNodes.toString());
    }
    }
    }
    }
    trace(titolo)
    }

    vedi se ti stampa l'array titolo
    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 !

  10. #10
    nada
    ho provato e riprovato con trace ma titolo continua a non apparire.

    ma questo secondo te è giusto?

    function loadRandom() {
    num_casuale = random(image.length);
    //trace(num_casuale)
    clip.loadMovie(image[num_casuale]);
    titolo_txt.text(titolo[num_casuale]);
    }



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.