• User

    caricare jpg e testo esterno

    ciao a tutti, volevo una piccola informazione. Sto creando un sito di e-commerce in flash. Sulla pagina iniziale, ho i pulsanti delle categorie. Cliccando su una categoria, mi si apre la pagina della categoria scelta (ad esempio Telefonia). Nella pagina telefonia.swf ho 9 mc,ognuno di questi mi carica un file jpg che tengo dentro una cartella. Sotto ognuno di questi mc, ho due pulsanti, "zoom" e "aggiungi". Fin qui tutto bene.

    Adesso, quando clicco sullo zoom di una di queste foto, mi carica un pop up (zoom.swf) che ho creato in flash. La mia domanda e' questa:

    Vorrei che quando l'utente clicca su una di queste immagini, lo zoom.swf mi caricasse la foto ingrandita del mc nella pagina telefonia.swf con la rispettiva descrizione.

    Io ho provato a caricare la foto ingrandita e la descrizione cosi:

    pic.loadMovie("img/imgBig/10g.jpg", post);
    arti.loadVariables("prodotti.txt",0);

    Come posso fare in modo che flash sappia quale foto ingrandita e descrizione deve prendere per far visualizzare il contenuto giusto?

    spero di essermi spiegata bene


  • Super User

    Ciao Stella,
    dovresti lavorare in Classi e non caricare gli swf esterni.
    Comunque potresti lavorare con degli Arrays per immagazzinare i dati di foto e testi.
    Ad esempio:
    Crea una variabile numerica chiamata id , assegna ad ogni swf che carichi una variabile numerica con valori diversi (progressivo da zero in su) per ogni swf in modo che ogni volta che carichi l'swf recuperi il suo valore e lo assegni alla variabile id.

    
    var id:Number=0;
    var Pictures:Array=new Array('pic_0.jpg','pic_1.jpg','pic_2.jpg','pic_3.jpg','pic_4.jpg');
    var Texts:Array=new Array('file_0.txt','file_1.txt','file_2.txt','file_3.txt','file_4.txt');
    for(var i:Number=0;i<Pictures.length;i++)
    {
        zoom_mc.onPress=function():Void
        {
            trace(Pictures[id]);
            trace(Texts[id]);
        }
    }
    
    

  • User

    ciao flep, senti non ho capito bene, come assegno ad ogni swf una variabile numerica? non conosci un tutorial su come fare? o un esempio, dove poter vedere meglio il tutto?


  • Super User

    Nel fla prova a scrivere:
    var my_id:Number=1;
    Il problema è che per recuperare quella variabile ti serve caricare gli swf con MovieClipLoader in modo che diventa come una movieclip quando è caricato e puoi interagirci completamente.

    Studiati come caricare gli swf da un esempio che avevo postato e vedrai che ti torna utile.
    Poi ragioniamo come recuperare quel valore 🙂

    Il mio esempio:
    http://www.giorgiotave.it/forum/flash-actionscript/14781-classe-picloader.html


  • User

    ciao flep, grazie per il tuo aiuto. Senti, siccome le categorie, hanno piu' o meno sui 100 file .jpg, non vorrei creare un swf a parte per ogni zoom della foto piu' piccola. Non c'e un altro modo per farlo?
    Che ne so, forse con un file di testo esterno, che clicco ad esempio il prodotto1(foto piccola), e flash mi visualizza zoom1(foto grande con descrizione e prezzo). Non so se mi sono spiegata bene..


  • Super User

    Potresti utilizzare le stesse jpg ridimensionate, o non ho capito bene ?


  • User

    no, per la pagina zoom1.swf volevo usare le .jpg con dimensioni piu' grandi.


  • User

    pensavo che se su un foglio di testo, ci mettevo tutte le img, tipo 1.jpg, 2.jpg ecc, forse era meglio. solo che non so come fare..


  • Super User

    Quindi invece di caricare gli swf puoi caricare le jpg no ?


  • User

    giusto.
    Io ho telefonia.swf, dove ho 9 file.jpg che carico tramite un loadMovie dentro a dei mc con istanza. ok?
    Quando faccio partire telefonia.swf, mi carica tutte e nove le fotografie. Sotto ad ognuno di queste foto ho messo due pulsanti, pulsante zoom e pulsante aggiungi (questo lo faccio piu' in la'). Adesso quando clicco sul pulsante zoom della prima foto, mi carica il file zoom10.swf. ok?
    Adesso, invece di fare questo procedimento per altre 99 volte (significherebbe che io dovrei fare 99 swf per ogni pulsante zoom), vorrei che il file zoom10.swf caricasse la foto con descrizione della foto che l'utente clicca. Non so se mi sono spiegata bene.


  • Super User

    Dovresti mettere tutte le stringhe delle immagini in un Array, così come le stringhe dei txt files dove prendi la descrizione.
    Ora se l'utente clicca zoom dell'immagine con id 10, carichi l'immagine dell'array che ha il percorso nella stringa dell'indice numero 10 e leggi il testo nel file con il persorso che sta nell'array con indice 10.

    Potresti anche mettere tutti i percorsi in un file XML, caricare l'XML e 'riempire' i tuoi arrays.


  • User

    se non sono troppo scortese, mi fai un piccolo esempio, per favore?


  • Super User

    Figurati non sei scortese,
    guarda il codice che ti ho scritto all'inizio di questo post, quello è la chiave di tutto.
    Il bottone zoom è proprio un bottone o una movieclip?


  • User

    e' un pulsante.
    Ma il codice che mi hai dato prima, devo metterlo nel file telefonia.swf, dove stanno i pulsanti zoom? e' poi flash come sa dove andare a prendere le foto? io le ho dentro a una cartella chiamata img. non ci sto capendo piu' niente...


  • Super User

    Nel codice c'è l' Array Pictures che contiene le paths delle immagini, se tu le hai in una cartella basta che aggiungi le paths giuste ('img/pic_0.jpg',img/pic_1.jpg',etc etc).

    Cambia il bottone zoom in movieclip o non possiamo assegnare una proprietà in runtime.

    Cara Stella, ammiro la tua caparbietà e la passione che stai mettendo in questo lavoro ma purtroppo quì siamo ad un livello di programmazione non semplice e se non hai ben chiaro cosa è un Array, un suo indice e tutto il resto mi sento impotente, non sono cose che si apprendono in 2 giorni in un forum 🙂