Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: consiglio su preloader

  1. #1
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428

    consiglio su preloader

    Ciao ragazzi, scusatemi se vi ossessiono con cose dette e ridette, ma ho un problema affrontato un po' in maniera diversa e volevo chiedere se secondo voi funzionava un preloader fatto in questa maniera:

    codice:
    totPrincipale = getBytesTotal();
    carPricipale = getBytesLoaded();
    
    If (totPrincipale == carPrincipale) {
    	LoadMovie ("storia.swf",_root.videostoria);
    	carSecondo = _root.videostoria.getBytesLoaded();
    	totSecondo = _root.videostoria.getBytesTotal();
    
    	If (totSecondo == carSecondo) {
    		LoadMovie ("ragazza.swf",_root.ragazza);
    		carTerzo = _root.ragazza.getBytesLoaded();
    		totTerzo = _root.ragazza.getBytesTotal();
    
    		If (totTerzo == carTerzo)  {
    			LoadMovie ("imprenditore.swf",_root.imprenditore);
    			carQuarto = _root.imprenditore.getBytesLoaded();
    			totQuarto = _root.imprenditore.getBytesTotal();
    	
    			If (totQuarto == carQuarto) {
    				GotoandPlay(Frame3)
    			}
    		}
    	}
    }
    
    
    ...sul frame 2 della timeline principale naturalmente c'è gotoandplay al frame 1.
    vi spiego cos'è. E' un cd che però per la grandezza dei file video presenti nei tre swiff caricati sulla root principaleall'interno di differenti movieclip ha bisogno per una maggiore fluidità di un preloader.
    Li volevo caricare tutti all'inizio, poi unloadarli e poi rilaodarli nel momento del bisogno uno alla volta. Una volta finito il primo lo riscarico e così via. Il tutto dovrebbe essere il più leggero possibile anche dal punto di vista dell'elaborazione da parte della scheda grafica....giusto????
    grazie
    Ciao
    Lukas

  2. #2
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428
    ... ...
    scusate... mi è venuta una domanda che forse...
    ma io, siccome si tratta di un cd, che faccio a fare il preload, poi scarico e poi ricarico... non parliamo della cache del browser, non allochiamo il file da qualche parte, quindi non serve a nulla se io lo carico e poi lo scarico. o lo tengo sempre caricato fino a quando mi serve e solo dopo lo scarico oppure non mi serve a nulla, giusto?

  3. #3
    Originariamente inviato da lukas
    ... ...
    scusate... mi è venuta una domanda che forse...
    ma io, siccome si tratta di un cd, che faccio a fare il preload, poi scarico e poi ricarico... non parliamo della cache del browser, non allochiamo il file da qualche parte, quindi non serve a nulla se io lo carico e poi lo scarico. o lo tengo sempre caricato fino a quando mi serve e solo dopo lo scarico oppure non mi serve a nulla, giusto?
    Comincio dalla tua "auto-risposta"...
    Anche se il tuo movie viene distribuito su CD, un preload non fa certo male e, nel caso tu abbia qualche oggetto veramente "pesante" ti garantisce una fluidità di esecuzione a prova di bomba.

    Per quanto riguarda il fatto di caricare il tre filmati esterni subito va pure bene ma è del tutto superfluo scaricarli e ricaricarli. Semplicemente mettili in pausa con un bello stop() e falli ripartire alla bisogna.

    Infine, il preload NON allegerisce in alcun modo il lavoro della scheda grafica, dipende solo dal "tipo" di animazioni che contiene il filmato.

  4. #4
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428
    grazie della risposta. Ti devo chiedere ancora qualche cosetta, innanzitutto, io non carico i filmati in un livello, ma in un target di un movieclip, quindi se non arrivo fino al frame della lineatemporale principale dove c'è effettivamente il movieclip, il filmato esterno non viene rirpodotto, giusto?
    Riguardo al fatto della scheda grafica, mi riferivo a quando sono caricati in memoria con loadmovie (parlavo del non fare unloadmovie), se sono troppi o troppo pesanti, potrebbero rallentare le elaborazioni e i calcoli non so a questo punto se della scheda grafica o del processore principale.
    Ultima cosa.... ma che mi dici dello script?
    Grazie
    Lukas

  5. #5
    Riguardo al fatto della scheda grafica, mi riferivo a quando sono caricati in memoria con loadmovie (parlavo del non fare unloadmovie), se sono troppi o troppo pesanti, potrebbero rallentare le elaborazioni e i calcoli non so a questo punto se della scheda grafica o del processore principale.
    se metti in pausa i filmati con uno stop() dipende da cosa c'è nel 1° frame.
    Se hai l'accortezza di metterci poca roba (poca grafica e nessuna istruzione ripetitiva), o magari di lasciarlo vuoto, l'impegno di CPU e Scheda grafica è minimo.


    io non carico i filmati in un livello, ma in un target di un movieclip, quindi se non arrivo fino al frame della lineatemporale principale dove c'è effettivamente il movieclip, il filmato esterno non viene rirpodotto, giusto?
    Se usi dei clip "vuoti" come contenitore, puoi piazzarli già nel 1° frame ed il gioco è fatto.
    Ultima cosa.... ma che mi dici dello script?
    ognuna di queste istruzioni:
    If (totPrincipale == carPrincipale) {
    la modificherei in:
    If (totPrincipale == carPrincipale && carPrincipale > 24) {

    per evitare il caso di uguaglianza quando (subito all'inizio) i due campi sono a zero.
    In dettaglio:
    codice:
    If (totPrincipale == carPrincipale && carPrincipale > 24) {
        LoadMovie ("storia.swf",_root.videostoria);
        carSecondo = _root.videostoria.getBytesLoaded();
        totSecondo = _root.videostoria.getBytesTotal();
        ",_root.videostoria.stop();
        If (totSecondo == carSecondo && carSecondo > 24) {
            LoadMovie ("ragazza.swf",_root.ragazza);
            carTerzo = _root.ragazza.getBytesLoaded();
            totTerzo = _root.ragazza.getBytesTotal();
            ",_root.ragazza.stop();
    	If (totTerzo == carTerzo && carTerzo > 24) { 
                LoadMovie ("imprenditore.swf",_root.imprenditore);
                carQuarto = _root.imprenditore.getBytesLoaded();
                totQuarto = _root.imprenditore.getBytesTotal();
                ",_root.imprenditore.stop();
                If (totQuarto == carQuarto && carQuarto > 24) {
                    gotoAndPlay(Frame3)
    			}
    ...
    ...

  6. #6
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428
    uè, Paolo! Ci inseguiamo!!! Io ho risposto sull'altro post e tu su questo, ora io sono qui e magari tu sei lì!!!

    Si, infatti, il primo frame è vuoto, però come faccio a fermare il filmato se il movieclip è composto da un singolo frame vuoto che richiama solo uno swf esterno contenente la vera timeline del filmato! Se risolvo questo la tua idea è perfetta!
    Se hai tempo, mi spiegheresti meglio il fatto dell'ugualianza? Non ho capito molto... scusami, ma non sono un grande esperto.
    Grazie,
    Lukas

  7. #7
    intanto mi sono accorto che nelle istruzioni:
    ",_root.videostoria.stop();
    quel doppio apice e virgola NON vanno messi, si tratta di un errore dovuto al "copia & incolla"

    per il fatto dell'uguaglianza ti riferisci a questa istruzione?

    If (totPrincipale == carPrincipale && carPrincipale > 24) {


    Allora...
    dato che la prima volta che vengono eseguiti questi test (considera la maggior velocità della CPU nel confronti del disco ) potrebbe verificarsi il caso che entrambi i termini del confronto sono a ZERO e quindi UGUALI, per cui il programma prosegue come se fosse avvenuto già il caricamento, mentre deve ancora cominciare.
    Aggiungendo il test sulla dimensione che deve essere di almeno 24 bytes, il problema viene eliminato.
    Chiaro?

    Per i filmati esterni, una volta fatto il preload completo all'inizio, puoi tenere tutto in un solo frame, ti basta gestire in qualche modo (dipende da come sono fatti questi filmati estermi) la fine riproduzione per far partire il successivo e cos' via...

  8. #8
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428
    ci voglio pensare un po' a quello che mi hai scritto e poi ti voglio fare almeno una domanda intelligente.
    Grazie ancora,
    Ciao
    Lukas

  9. #9
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428
    i filmati esterni, cmq, sono un semplice swf con la linea temporale della lunghezza dell'avi importato. Però il tutto sta dentro un movieclip she risiede sulla linae temporale principale. Il MC è della lunghezza del file AVI e la linea temporale la stessa cosa. Questo, per poter posizionare perfettamente il tutto.
    Ciao

  10. #10
    Utente di HTML.it L'avatar di lukas
    Registrato dal
    Sep 2002
    Messaggi
    428
    ok, grazie, ho capito perfettamente il tuo discorso. E' perfetto. Però un problema ancora c'è, e cioè: come faccio a stoppare i miei filmati se non posso mettere uno stop sulla linea temporale, visto che il MC non ha il filmato sulla linea temporale, ma, la carica solo su quest'ultima...


    cmq, ho provato con questo script:

    codice:
    If (totPrincipale == carPrincipale && carPrincipale > 24) {
        LoadMovie ("storia.swf",_root.videostoria);
        carSecondo = _root.videostoria.getBytesLoaded();
        totSecondo = _root.videostoria.getBytesTotal();
        _root.videostoria.stop();
        If (totSecondo == carSecondo && carSecondo > 24) {
            LoadMovie ("ragazza.swf",_root.ragazza);
            carTerzo = _root.ragazza.getBytesLoaded();
            totTerzo = _root.ragazza.getBytesTotal();
            _root.ragazza.stop();
    		If (totTerzo == carTerzo && carTerzo > 24) { 
                LoadMovie ("imprenditore.swf",_root.imprenditore);
                carQuarto = _root.imprenditore.getBytesLoaded();
                totQuarto = _root.imprenditore.getBytesTotal();
                _root.imprenditore.stop();
                If (totQuarto == carQuarto && carQuarto > 24) {
    			gotoAndPlay(3);
                }
    		}
        }
    }
    ...mi da un segnale di errore che mi fa andare in loop il preload:

    Scena=preload, Livello=Livello 1, Fotogramma=1:Linea 16: È previsto ';'
    If (totQuarto == carQuarto && carQuarto > 24) {



    ...previsto ; su una riga dove non va, la 16 è:

    If (totQuarto == carQuarto && carQuarto > 24) {

    che c'entra!!!!
    :rollo: ...mah

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.