Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    24

    Ennesimo problema con il preload

    Allora, mi sono letto un sacco di vecchi thread sul preeload, ma no ho trovato niente (l'unico, forse, questo

    http://forum.html.it/forum/showthrea...hlight=preload

    ma non mi è chiarissimo).

    Comunque il mio problema è questo:

    La timeline principale è di 4 frames. Ho creato un MC vuoto con nome "moviex" nel 1° frame, dove carico un "parte1.swf".

    Vorrei far aspettare (con un "Loading... please wait" semplicissimo) il caricamento di tutto "parte1.swf" per poi passare al frame 2.

    Ma ATTENZIONE: "parte1.swf" è creato in automatico da un programma apposito, ed è quindi INMODIFICABILE.
    Posso perciò mettere il preload SOLO nel mio filmato principale. E non ci riesco...

    Se impongo controlli su "moviex.getBytesLoaded()" non funziona, anzi, mi rende sempre "4" come valore... Che ho paura siano i bytes occupati dal movieclip vuoto...

    Potreste aiutarmi?
    Grazie

    Zodar
    fOrMaT mAn

  2. #2
    non ho capito bene il problema...


    il filmato parte ma non funziona il preload?

    vedi il preload per un attimo e poi parte il filmato?

    non vedi il preload e il filmato non parte?

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    24
    Diciamo che in ogni caso non riesco a far partire il preload, perché non capisco cosa andare a "controllare"...

    Il filmato parte tranquillamente, è il preload che non ne vuole sapere.
    Ad esempio, ho messo (tra le varie prove) una cosa così:
    sul frame n° 1 della timeline principale

    codice:
    stop();
    loading._visible = false;
    
    loadMovie("parte1.swf", "moviex"); 
    
    pesoTot = _root.moviex.getBytesTotal(); 
    peso = _root.moviex.getBytesLoaded(); 
    if (peso < pesoTot) {
    	loading._visible = true;
    } else {
    	gotoAndPlay(2);
    }
    Il "_root" penso sia anche ridondante xché sono già sulla root...
    Il fatto è che quel "getBytes..." non "get" un accidente...

    C'è un modo per controllare, dalla timeline principale, se un swf è stato caricato tutto?

    Zodar
    fOrMaT mAn

  4. #4
    ma come fai tu il controllo lo effettua una solta volta... :master:

    se usi MX scrivi così:

    codice:
    function preload() { 
    	var tot = _root.moviex.getBytesTotal(); 
    	var car = _root.moviex.getBytesLoaded(); 
    	perc  = Math.round((car*100)/tot);
    	trace(perc);
    	if (car == tot && car > 1024) { 
            	clearInterval(a); 
    	}
     }
    
    _root.moviex.loadMovie ("loaded.swf"); 
    a = setInterval(preload, 100);
    cos'è loading?

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    24
    loading è il movieclip che lampeggi ae scrive "loading... please wait"


    Ora mi studierò un po' quello che mi hai scritto xché non lo capisco molto...

    Ma quel "interval" è proprio necessario (a me non interessa la barra percentule, mi basta che "loading... please wait" rimanga fino a che tutto l'swf non è caricato.


    Zodar
    fOrMaT mAn

  6. #6
    Originariamente inviato da zodar
    loading è il movieclip che lampeggi ae scrive "loading... please wait"


    Ora mi studierò un po' quello che mi hai scritto xché non lo capisco molto...

    Ma quel "interval" è proprio necessario (a me non interessa la barra percentule, mi basta che "loading... please wait" rimanga fino a che tutto l'swf non è caricato.


    Zodar
    il setInterval serve per mandare in ciclo la funzione. Se non fai così non puoi capire quand'è che il file esterno è carico.

    Un'altra soluzione sarebbe di usare un onEnterFrame:

    codice:
    _root.moviex.loadMovie ("loaded.swf"); 
    _root.onEnterFrame = function() {
    	tot = this.moviex.getBytesTotal(); 
    	car = _this.moviex.getBytesLoaded(); 
    	loading._visible = !loading._visible;
    	if (car == tot && car > 1024) { 
            	clearInterval(a);
            	this.gotoAndPlay(2);
            	delete this.onEnterFrame;
    	}
     }

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    24
    il setInterval serve per mandare in ciclo la funzione. Se non fai così non puoi capire quand'è che il file esterno è carico.
    doh...

    Così però non mi parte più il filmato...
    Ma perché non mi riesce???
    Eppure dovrebbe essere una cosa semplice! un banale preload, solo che invece di metterlo nell'swf che sto caricando, devo metterlo fuori.... enon mi funziona niente!!!

    Con l'enterFrame non credo vada bene, nel mio caso, perché il filmato che carico ha uno stop() in ogni frame... o non c'entra nulla?
    Mi dispiace di farti perder tempo così... ma proprio non capisco...

    ---EDIT---

    Apsetta... il filmato parte... sono io che sono imbranato...
    Ora provo a buttarlo sul CD e vedo... che da HD carica troppo veloce e non mi rendo conto...

    ---/EDIT---

    Zodar
    fOrMaT mAn

  8. #8
    Originariamente inviato da zodar
    Con l'enterFrame non credo vada bene, nel mio caso, perché il filmato che carico ha uno stop() in ogni frame... o non c'entra nulla?
    non c'entra nulla. L'evento onEnterFrame non ha niente a che fare con lo stop.


    Originariamente inviato da zodar
    ---EDIT---

    Apsetta... il filmato parte... sono io che sono imbranato...
    Ora provo a buttarlo sul CD e vedo... che da HD carica troppo veloce e non mi rendo conto...

    ---/EDIT---
    ok

    però ti conviene provarlo on-line...

    regalami un oggi da favola...e il domani bhe!?non mi importa se tu 6 con me! ©Ily

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    24
    non va... Cioè, funziona tutto, solo che il preloader non lo visualizzo...

    però ti conviene provarlo on-line...
    Il fatto è che sto facendo proprio un CD... non deve andare on-line... l'swf che carico è ca. 4 MB...

    E all'interno ci sono 150 frame, in sei dei quali vengono a sua volta richiamati dei filmati (.avi convertiti con squeeze) di 7-10 MB...

    Dunque il preloader mi serve perché quando arrivo ai filmati si "pianta" tutto x qualche secondo...

    Ora provo l'onEnterFrame...
    Semmai metto un filmato con un "loading... please wait" lampeggiante in un livello più basso, e lo lascio SEMPRE lì, così quando NON c'è l'swf vedo il messaggio.... rozzo, ma può funzionare (visto che sto cd lo devo fare entro stasera....).
    Comunque vad, comunque, questa faccenda la devo risolvere, è una "sfida" personale...
    E... grazie per l'aiuto che mi stai dando!

    Zodar
    fOrMaT mAn

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.