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

    calcolo del peso totale di più immagini

    Ciao a tutti.
    Nonostante abbia posto il quesito altre volte, mi trovo costretto a ricorrere di nuovo al vostro sempre prezioso aiuto.
    Il post è forse un po lunghetto, ma spero di essere abbastanza chiaro.
    sto realizzando una galleria di foto basata su immagini esterne.
    Ho creano un nuovo movieclip e l'ho trascinato sul mio stage (nome istanza "vuoto".
    all'interno del movieclip, sul primo fotogramma, ho impostato il seguente script:
    codice:
    for (i=0; i<=29; i++) {
    	this.createEmptyMovieClip("img"+i, i);
    	this["img"+i].loadMovie("big/"+i+".jpg");
    }
    grazie a questo script, all'interno del mio movieclip "vuoto", vengono creati 29 nuovi clip all'interno dei quali vengono caricate altrettante foto esterne prelevate dalla cartella "big".
    Ora, sarebbe mia intenzione realizzare un preload iniziale che calcoli il peso complessivo di tutte le immagini contenute nella cartella "big" prima di visualizzare la mia photogallery.
    Conosco il metodo per realizzare un normale preload, ma non so come crearne uno che possa calcolare complessivamente tutte le immagini che andrò a caricare.
    Poichè la mia galleria contiene varie animazioni, volevo far si che le immagini vengano caricate complessivamente prima di visualizzare la photogallery, affinchè le animazioni stesse non rallentino causa caricamento.
    grazie
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    magari la prossima volta considera di riportare a galla la discussione precedente con un ^UP senza stare ad aprire mille discussioni sullo stesso argomento

  3. #3
    So che hai ragione, ma non sono sicuro di essere riuscito a spiegare bene che cavolo sto combinando.
    Avev visto anche la soluzione da te suggerita, ma non sono riuscito ad applicarla.
    c'è qualcosa che sbaglio ma non capisco cosa.
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non ricordo la mia risposta precedente... provo a risponderti nuovamente...

    nella situazione che hai esposto non devi far altro che crearti una funzione ad hoc che ad ogni iterazione verifichi la corrispondenza tra la somma dei bytes caricati delle immagini, e la somma dei bytes totali...

    codice:
    function onLoadFinished(){
    // azioni al caricamento completato
    }
    
    function summedPreload (target, name, numOfLoad) {
    	var car = 0;
    	var tot = 0;
    	var perc = 0;
    	for (var i = 0; i<= numOfLoad; i++){
    		car+= target[name+i.toString()].getBytesLoaded();
    		tot+= target[name+i.toString()].getBytesTotal();
    	}
    	perc = Math.floor((car/tot)*100);
    	if(!isNaN(perc)){
    		// azioni di visualizzazione del preload
    	}
    	if(car >= tot && tot > perc && perc == 100){
    		clearInterval(a);
    		onLoadFinished();
    	}
    }
    
    for (i=0; i<=29; i++) {
    	this.createEmptyMovieClip("img"+i, i);
    	this["img"+i].loadMovie("big/"+i+".jpg");
    }
    a = setInterval(summedPreload, 200, this, "img", 29);
    questo dovrebbe essere il tuo codice integrato del preload, le parti commentate le cambi come meglio credi, in ogni caso dovrebbe funzionare correttamente così com'è

  5. #5
    grazie mille...lo provo subito e ti faccio sapere
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  6. #6
    SEI UN GRANDE!
    al livello di script ammetto che ci ho capito poco, ma ora me lo studio un po..funzia egregiamente!

    for (i=0; i<=1000; i++) {
    grazie[i]!!!!!!!!!!!!!!!;
    }
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  7. #7
    in rete il file ha uno strano comportamento...
    prova a guardarlo a questo indirizzo e tieni d'occhio la prima tra le due barre del preload (quella più in alto)
    http://www.bmbcommunication.it/sandr.../galleria.html
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    probabilmente non gli basta il tempo di elaborazione, infatti con adsl il caricamento è velocissimo... magari è per questo che si perde qualcosa per strada...

    prova ad aumentare il valore di millisecondi nell'intervallo

    codice:
    a = setInterval(summedPreload, 200, this, "img", 29);
    aumenta di 50 in 50 finchè non lo trovi stabile

    ah... ricorda che devi essere anche sicuro di aver stoppato il filmato durante il caricamento delle immagini

  9. #9
    rieccomi qua...
    ho tentato uno studio dello script da te suggerito...
    il mio movie ha un comportamento piuttosto bizzarro...
    il caricamento funge, ma notavo che la percentuale di caricamento ( e quindi anche l'andamento della barra del preload), sembra comunque fare riferimento ad una sola immagine alla volta (ad esempio, sembra caricare la prima immagine fino al 100% per poi procedere con il caricamento della seconda etc. etc.) e quindi si nota un fastidioso "avanti e indietro" dlla percentuale di caricamento nonchè della barra di avanzamento del preload...
    Ho tentato diverse prove basandomi chiaramente sullo script da te suggerito, ma non ne vengo a capo.
    premetto che, comunque, il tutto funziona bene perchè una volta terminato il caricamento (seppur con questi strani comportamenti) il mio movie parte e funziona correttamente con le immagini già caricate in cache.
    Se vuoi dare un'occhiata al problema, ti posto il link d'esempio.
    http://www.bmbcommunication.it/sandr...ewgallery.html
    grazie
    non esistono che molteplici parvenze e contraddittorie sembianze della stessa apparenza

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ok... scusa, una svista nel codice... in questo modo dovrebbe funzionare correttamente

    codice:
    function onLoadFinished() {
    	// azioni al caricamento completato
    }
    function summedPreload(target, name, numOfLoad) {
    	for (var i = 0; i<=numOfLoad; i++) {
    		car += target[name+i.toString()].getBytesLoaded();
    		tot += target[name+i.toString()].getBytesTotal();
    	}
    	perc = Math.floor((car/tot)*100);
    	if (!isNaN(perc)) {
    		// azioni di visualizzazione del preload
    	}
    	if (car>=tot && tot>perc && perc == 100) {
    		clearInterval(a);
    		onLoadFinished();
    	}
    }
    for (i=0; i<=29; i++) {
    	this.createEmptyMovieClip("img"+i, i);
    	this["img"+i].loadMovie("big/"+i+".jpg");
    }
    var car = 0;
    var tot = 0;
    var perc = 0;
    a = setInterval(summedPreload, 200, this, "img", 29);
    fammi sapere se è ok perchè non l'ho provato

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.