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

Discussione: preload

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    45

    preload

    ciao

    ho realizzato un preload per il mio filmato seguendo le istruzioni trovate nel sito.
    nel filmato ho dei pulsanti che caricano dei .swf esterni in un mc.
    stranamente quando faccio la simulazione del caricamento non riesce a caricarmi gli swf esterni che pesano solo 4kb. ho provato a fare per ogni swf esterno un preload uguale a quelo del swf principale ma lo stesso non escono. sapete dirmi dove sbaglio?

  2. #2
    Quale versione di Flash utilizzi?

    La simulazione del preloading dei filmati esterni funziona solo dalla versione MX-2004 e sucessive.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    45
    flash 8

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    45
    sul movie principale ho questo preload preso dalla guida del sito


    car = _root.getBytesLoaded();
    tot = _root.getBytesTotal();
    larghezza = 100;
    perc = parseInt((car*100)/tot);
    progres = perc + "%";
    setProperty("barra", _xscale, (perc*larghezza)/100);
    setProperty("barra", _x, 179.7);
    if (car == tot) {
    gotoAndPlay("home", 1);
    }

    anche tutti gli swf esterni hanno questo codice.
    nel movie principale c è un mc "proiettore" e un pulsante con il seguente codice:

    on (release) {
    proiettore.loadMovie("storia.swf", 0);
    }

    storia swf pesa 4kb.

    ma non viene caricato

    dove sbaglio?

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il codice è concettualmente sbagliato per un motivo fondamentale, in tutti i casi fai riferimento a _root, ma quando carichi degli swf dentro un altro con loadMovie, per i filmati esterni la loro _root diventa _root.proiettore, hai tre alternative

    1- utilizzi this al posto di _root
    2- nei filmati da caricare fai riferimento al percorso assoluto _root.proiettore
    3- provi a scrivere nei tuoi filmati esterni, prima del codice del preload this._lockroot = true;

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    45
    vediamo se ho capito, devo fare:

    on (release) {
    _root.proiettore.loadMovie("storia.swf", 0);
    }
    oppure

    on (release) {
    this.proiettore.loadMovie("storia.swf", 0);
    }
    in tal caso lo stesso non funziona

    ho messo anche this._lockroot = true; alla prima riga del preload dei filmati esterni, ma non va lo stesso

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Masan
    vediamo se ho capito, devo fare:

    on (release) {
    _root.proiettore.loadMovie("storia.swf", 0);
    }
    oppure

    on (release) {
    this.proiettore.loadMovie("storia.swf", 0);
    }
    no, io continuo a parlare del codice del preload, apparte che la sintassi di questi loadMovie è sbagliata perchè c'è un parametro in più (0) che non serve a nulla...

    Originariamente inviato da Masan
    ho messo anche this._lockroot = true; alla prima riga del preload dei filmati esterni, ma non va lo stesso
    prova uno degli altri due suggerimenti...

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    45
    scusa ma continuo a non capire, il codice del preload è questo:

    car = _root.getBytesLoaded();
    tot = _root.getBytesTotal();
    larghezza = 100;
    perc = parseInt((car*100)/tot);
    progres = perc + "%";
    setProperty("barra", _xscale, (perc*larghezza)/100);
    setProperty("barra", _x, 179.7);
    if (car == tot) {
    gotoAndPlay("home", 1);
    }

    sia per l swf principale che per quelli caricati esterni. dove devo mettere "this" o "_root.proiettore" come dici tu?

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Masan
    scusa ma continuo a non capire, il codice del preload è questo:

    car = _root.getBytesLoaded();
    tot = _root.getBytesTotal();
    larghezza = 100;
    perc = parseInt((car*100)/tot);
    progres = perc + "%";
    setProperty("barra", _xscale, (perc*larghezza)/100);
    setProperty("barra", _x, 179.7);
    if (car == tot) {
    gotoAndPlay("home", 1);
    }

    sia per l swf principale che per quelli caricati esterni. dove devo mettere "this" o "_root.proiettore" come dici tu?
    te l'ho detto sopra, al posto di _root

    codice:
    car = this.getBytesLoaded(); 
    tot = this.getBytesTotal();
    comunque il codice che usi è un po'...datato, imho...(intendo quello degli swf esterni)

  10. #10
    e poi magari cambia la funzione parseint ..

    codice:
    // Assegno i valori
    car = this .getBytesLoaded();
    tot = this.getBytesTotal();
    larghezza = 100;
    // Calcolo la percentuale di avanzamento
    perc = Math.round ((car*100)/tot);
    // Inserisco nella casella il totale percentuale
    progres = perc+"%";
    // Allungo la barra e la posiziono in modo fisso sull'asse X
    setProperty("barra", _xscale, (perc*larghezza)/100);
    setProperty("barra", _x, barra._x);
    // Controllo lo stato di avanzamento
    if (car == tot && car>1024) {
    	gotoAndPlay("home", 1); 
    }

    ps
    scusate l'intromissione
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

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.