Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682

    Duplicate&LoadVars vs Duplicate LoadVariables

    Ciao ragazzi ho questo grosso problema....
    In passato usavo caricare una variabile con LoadVariables che faceva riferimento ad un file esterno di testo del tipo :
    &img1=img1.jpg&img2=img2.jpg&num=2

    poi caricavo tale variabile in flash
    loadVariables('nomefile.txt','pippoMC');

    poi avevo un MC pippoMC con dentro un mc plutoMC
    su pippoMC avevo
    onClipEvent (data) {
    for (i=0; i<num; i++) {
    duplicateMovieClip("pippoMC.plutoMC", "plutoMC"+i, i-1);
    plutoMC["pippoMC"+i]._y += i*dista;
    loadMovie(this["img"+i], ["pippoMC.plutoMC"+i]);
    }
    }
    Praticamente mi duplicava tanti MC con dentro immagini quanti erano le 'img' dentro il file di testo.
    Il risultato per esempio lo potete vedere su questo sito che avevo fatto a cui avevo applicato questo script
    http://www.poderelastradella.it nella sezione galleria.

    Adesso sto usando LoadVars
    ho questo file di testo
    &img1=C:/Programmi/Apache Group/Apache2/htdocs/WebSite/iacopinifabrizio/public/isola.jpg&img2=C:/Programmi/Apache Group/Apache2/htdocs/WebSite/iacopinifabrizio/public/linda.jpg&img3=C:/Programmi/Apache Group/Apache2/htdocs/WebSite/iacopinifabrizio/public/mama.jpg&num=3
    su un frame ho
    distanza=20;
    var mydir=new String("http://houston/WebSite/iacopinifabrizio/php/");
    carica=new LoadVars();
    carica.load(mydir+'fabrizio.php');
    carica.onLoad=function(success) {
    if (success) {
    pippo.text=this['num'];//mi scrivo num in una casella di testo per controllo
    ciccio.text=this['img1'];//idem
    }
    for(i=1;i<this['num'];i++) {
    duplicateMovieClip('mio','mio'+i,i-1);
    _root.pluto['mio'+i]._y+=i*distanza;
    }
    }
    e anche cosi funziona mi duplica i movieClip prendendo come parametro 'num' nel ciclo.

    Il problema mi sorge se provo a mettere il ciclo for e il duplicateMovieClip su un MC con onClipEvent(enterFrame) o (data)
    e ancor di piu' se per duplicare specifico un target cosi MC1.MC2
    non mi duplica un bel niente.
    Se nel ciclo invece di scrivere
    for(i=1;i<this['num'];i++)
    e scrivo
    for(i=1;i<3;i++)//tanto per fare una prova cosi funge

    Ho cercato di fare il massimo per spiegarmi,chiedo scusa in anticipo ...
    Sembra che duplicateMovieClip mi funzioni,con parametro esterno per il ciclo for , solo se metto lo script su un frame e non su un MC,
    usando LoadVars;
    perche ripeto con LoadVariables mi funziona che ormai dovrebbe essere obsoleto.

    Qualcuno ha avuto lo stesso problema ?
    Sono io fagiano e sbaglio da qualche parte ?????
    Aiuto please
    IACO

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Capito molto poco. Qual'è lo script che non funziona (scrivi solo quello)?

    p.s. ricorda che quando usi LoadVars le variabili vengono caricate nell'istanza della Classe LoadVars, e non nel movieclip nel quale l'hai istanziata..

  3. #3
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Originariamente inviato da negatyve
    Capito molto poco. Qual'è lo script che non funziona (scrivi solo quello)?

    p.s. ricorda che quando usi LoadVars le variabili vengono caricate nell'istanza della Classe LoadVars, e non nel movieclip nel quale l'hai istanziata..
    ok .....
    comunque mi sa che in parte mi hai gia' risposto con il fatto che le variabili di LoadVars vengono caricate nella classe e non nel MC.

    onClipEvent (data) {
    for(i=1;i<this['num'];i++) {
    duplicateMovieClip('mainMC.mioMC','mioMC'+i,i-1);
    mainMC['mioMC'+i]._y+=i*distanza;
    }
    }


    sul frame ho

    distanza=20;
    var mydir=new String("http://houston/WebSite/iacopinifabrizio/php/");
    carica=new LoadVars();
    carica.load(mydir+'fabrizio.php');
    carica.onLoad=function(success) {
    if (success) {
    pippo.text=this['num'];
    ciccio.text=this['img1'];
    }

    }
    IACO

  4. #4
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    bene il problema e' proprio quello che hai detto tu nega....
    infatti cosi mi funziona(come avevo cercato di far capire senza riuscirci nel primo post)

    distanza=20;
    var mydir=new String("http://houston/WebSite/iacopinifabrizio/php/");
    carica=new LoadVars();
    carica.load(mydir+'fabrizio.php');
    carica.onLoad=function() {
    pippo.text=this['num'];
    ciccio.text=this['img1'];

    for(i=1;i<this['num'];i++) {

    duplicateMovieClip('mainMC.mioMC','mioMC'+i,i-1);
    _root.mainMC['mioMC'+i]._y+=i*distanza;

    }
    }
    Grazie ......

    PS: piccola domanda,ho letto che si puo' associare anche .getBytesLoaded e .getBytesTotal all'oggetto LoadVars esiste qualche tutorials in riguardo ?
    IACO

  5. #5
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Originariamente inviato da iaco74

    PS: piccola domanda,ho letto che si puo' associare anche .getBytesLoaded e .getBytesTotal all'oggetto LoadVars esiste qualche tutorials in riguardo ?
    codice:
    myLoadVars = new LoadVars();
    myLoadVars.loadID = 0;
    myLoadVars.onLoad = function(success)
    {
        if (success) {
             trace("OK FILE  LOADED");
        } else {
             trace("KO FILE MISSING");
        }
    };
    myLoadVars.preloadData = function()
    {
        var car = this.getBytesLoaded();
        var tot = this.getBytesTotal();
        var per = Math.round((car / tot) * 100);
        if(car >= tot){
             trace("DONE")
             clearInterval(this.loadID);
        }
        
    };
    ASSetPropFlags(myLoadVars, ["onLoad", "path", "loadID", "preloadData"], 1);
    myLoadVars.load("Text.txt");
    myLoadVars.loadID = setInterval(myLoadVars, "preloadData", 20);

  6. #6
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Grazie nega ....
    Ci sono alcune cose pero' che non ho capito.

    myLoadVars.loadID = 0;
    Questo a cosa serve ?


    ASSetPropFlags(myLoadVars, ["onLoad", "path", "loadID", "preloadData"], 1);
    myLoadVars.load("Text.txt");
    myLoadVars.loadID = setInterval(myLoadVars, "preloadData", 20);

    Anche questa parte mi e' un po' oscura.......

    il ; dopo le } della chiusura di funzione e' solo per una migliore lettura del codice oppure e' obbligatorio mettercelo ?

    Grazie
    IACO

  7. #7
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    myLoadVars.loadID = 0;
    si capisce dopo. per poter nascondere questa proprietà, devo prima crearla, anche con un valore a caso

    codice:
    ASSetPropFlags(myLoadVars,["onLoad", "path", "loadID", "preloadData"], 1);
    questo codice nasconde le 4 proprietà ("onLoad", "path", "loadID", "preloadData") appena create dai loop for...in. In pratica, se cerchi di trasferire tutte le variabili di myLoadVars in un altro oggetto, non copi anche quelle 4 che sono specifiche di myLoadVars.

    codice:
    myLoadVars.load("Text.txt"); 
    myLoadVars.loadID = setInterval(myLoadVars, "preloadData", 20);
    Carica il file di testo, e crea un ciclo per cui il metodo preloadData viene richiamato ogni 20 millisecondi fino a che il caricamento non è verificato.

  8. #8
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >il ; dopo le } della chiusura di funzione e' solo per una migliore
    >lettura del codice oppure e' obbligatorio mettercelo ?

    la prima che hai detto.. :)

  9. #9
    Utente di HTML.it L'avatar di iaco74
    Registrato dal
    Sep 2002
    Messaggi
    682
    Applicato al mio script (che ora funge alla grande)

    stop;
    distanza=70;
    var mydir=new String("http://houston/WebSite/iacopinifabrizio/php/");
    carica=new LoadVars();
    carica.load(mydir+'fabrizio.php');
    carica.onLoad=function() {
    for(i=0;i<this['num'];i++) {
    duplicateMovieClip('mainMC.mioMC','mioMC'+i,i-1);
    _root.mainMC['mioMC'+i]._x+=i*distanza;
    loadMovie(this['img'+i],['mainMC.mioMC'+i]);
    }
    }

    con le tue implementazioni non capisco se il controllo dei dati
    this.getBytesTotal eccc va comunque messo prima di carica.load
    e di loadMovie oppure dopo.Io penso dopo in quanto Flash ancora non sa (loadMovie) quanti bytes deve caricare;
    Anche se dall'esempio che tu hai fatto andrebbe messo tutto prima di carica.load.

    (sempre che quello che voglio fare io si possa fare)
    Grazie per la pazienza.
    IACO

  10. #10
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    eh eh eh, adesso voglio che mi spieghi secondo quale logica sei portato a inserire un comando per caricare i dati *prima* di aver indicato cosa fare durante o appena dopo il caricamento...

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.