Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Semplice preload, funziona a metà

    Salve a tutti, mi sono appena registrato e sono alle prese con il flash che è fighissimo però quando non funziona manda in bestia

    Sto facendo questo preload:

    scaricati = _root.getBytesLoaded();
    totali = _root.getBytesTotal();
    percentuale = math.floor(100*scaricati/totali);
    linea._xscale = percentuale;
    if (totali==scaricati) gotoAndPlay("Principale",1);

    ma non mi scorre la barra e al posto della percentuale mi scrive undefined. Ho controllato nomi e istanze e sono ok, cosa c'è di sbagliato?

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Com'è strutturato il tuo preload? Mi pare che ti manchi qualche pezzo nel codice, hai più frame per gestirlo? Nel caso ce ne fosse uno solo, allora è normale che non funzioni con quel codice.
    Scrivi anche la versione di flash player e actionscript che utilizzi.

    Ps. un consiglio, evita l'uso del gotoAndPlay in quel modo, non usare i nomi di scene, inserisci un'etichetta nel primo frame della scena "Principale" e usa quella nel goto.

  3. #3
    Grazie per l'attenzione and80, uso flash cs3. Il pannello azioni riporta "Actionscript 1.0 & 2.0".


    Il preload è strutturato su 3 livelli, 2 fotogrammi per tutti.

    livello Azioni: al1° fotogramma:

    scaricati = _root.getBytesLoaded();
    totali = _root.getBytesTotal();
    percentuale = math.floor(100*scaricati/totali);
    linea._xscale = percentuale;
    if (totali==scaricati) gotoAndPlay("Principale",1);

    livello Azioni: al 2° fotogramma: gotoAndPlay(1);

    livello Barra: al 1°e continua sul 2° movie clip Barra con istanza linea

    livello Statico: al 1°e continua sul 2 Ho messo i testi statici come ad es "Loading" "di" "percentuale" più 3 campi di testo dinamici con nome istanza: "percentuale" "scaricati" "totale"

    Precentuale e totale funzionano alla perfezione e caricano il filmato, la barra rimane immobile e su percentuale c'è scritto "undefined"

  4. #4
    x la percentuale se usi il nome istanza devi scrivere cosi

    percentuale.text = math.floor(100*scaricati/totali);

    oppure invece di mettere il nome istanza usa la variabile associata

    x la barra mi sembra strano che nn funge


    _root.linea._xscale =math.floor(100*scaricati/totali);

    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 !

  5. #5
    Originariamente inviato da crescenzo
    x la percentuale se usi il nome istanza devi scrivere cosi

    percentuale.text = math.floor(100*scaricati/totali);

    oppure invece di mettere il nome istanza usa la variabile associata

    x la barra mi sembra strano che nn funge


    _root.linea._xscale =math.floor(100*scaricati/totali);

    Ho sostituito lo script della percentuale, adesso invece di vedere "Undefined" non compare nulla :master:
    La barra con o senza il nuovo script sta sempre ferma

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Se hai lasciato invariate le impostazioni di pubblicazione, allora stai pubblicando per flash player 9 e Actionscript 2, di conseguenza devi prestare attenzione all'uso corretto di maiuscole e minuscole nel codice, Math va scritto con la M maiuscola, perciò in tuo math.floor deve essere modificato in Math.floor.
    Probabilmente basta questo a rendere funzionante il tuo codice.

  7. #7
    Originariamente inviato da and80
    Se hai lasciato invariate le impostazioni di pubblicazione, allora stai pubblicando per flash player 9 e Actionscript 2, di conseguenza devi prestare attenzione all'uso corretto di maiuscole e minuscole nel codice, Math va scritto con la M maiuscola, perciò in tuo math.floor deve essere modificato in Math.floor.
    Probabilmente basta questo a rendere funzionante il tuo codice.
    Ho messo la maiuscola però con lo script originario e funziona la barra!!

    percentuale = Math.floor(100*scaricati/totali);

    Mancherebbe solo che si visualizzasse la percentuale

    Ho ricontrollato ma sul pannello "Impostazione pubbicazione" mi segnala Flash player 8 e Acrtionscript 1.0

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ok, allora ci muoviamo in questo modo, elimina intanto il secondo frame del preload e restiamo con un solo frame in cui abbiamo gli stessi layer di prima.
    Ora devi fare attenzione ad una cosa, devi essere certo che nei campi dinamici ci sia solo il nome di istanza e che non ci sia un valore nel campo "var", in caso contrario, elimina il valore del campo "var".
    Per essere certi che lo script che ti propongo sia funzionante, dobbiamo essere sicuri che i tuoi campi si chiamino rispettivamente "caricati", "totali", "percentuale".
    Inoltre dovresti andare sul primo frame della scena principale e selezionarlo con un click, poi nelle sue opzioni, nel campo Frame (o Fotogramma credo in italiano), inserisci come nome "principale".

    Lo script in questione utilizza una funzione che viene ripresa automaticamente come se stessi scorrendo sui due frame, come prima, ma non è necessario averne fisicamente 2.

    Codice PHP:
    stop();
    linea._xscale 0;
    this.onEnterFrame = function () {
        var 
    car this.getBytesLoaded();
        var 
    tot this.getBytesTotal();
        var 
    perc Math.floor((car/tot)*100);
        if (!
    isNaN(perc)) {
            
    linea._xscale perc;
            
    percentuale.text perc;
            
    caricati.text car;
            
    totali.text tot;
        }
        if (
    car >= tot && tot perc && perc == 100) {
            
    delete this.onEnterFrame;
            
    this.gotoAndPlay("principale");
        }

    Se fai come ti ho indicato, funzionerà per certo, ma se dovessi avere dei problemi con il codice, vedrò di impostarti un esempio da scaricare per confrontarlo con quello che hai tu.

  9. #9
    Originariamente inviato da and80
    Ok, allora ci muoviamo in questo modo, elimina intanto il secondo frame del preload e restiamo con un solo frame in cui abbiamo gli stessi layer di prima.
    Ora devi fare attenzione ad una cosa, devi essere certo che nei campi dinamici ci sia solo il nome di istanza e che non ci sia un valore nel campo "var", in caso contrario, elimina il valore del campo "var".
    Per essere certi che lo script che ti propongo sia funzionante, dobbiamo essere sicuri che i tuoi campi si chiamino rispettivamente "caricati", "totali", "percentuale".
    Inoltre dovresti andare sul primo frame della scena principale e selezionarlo con un click, poi nelle sue opzioni, nel campo Frame (o Fotogramma credo in italiano), inserisci come nome "principale".

    Lo script in questione utilizza una funzione che viene ripresa automaticamente come se stessi scorrendo sui due frame, come prima, ma non è necessario averne fisicamente 2.

    Codice PHP:
    stop();
    linea._xscale 0;
    this.onEnterFrame = function () {
        var 
    car this.getBytesLoaded();
        var 
    tot this.getBytesTotal();
        var 
    perc Math.floor((car/tot)*100);
        if (!
    isNaN(perc)) {
            
    linea._xscale perc;
            
    percentuale.text perc;
            
    caricati.text car;
            
    totali.text tot;
        }
        if (
    car >= tot && tot perc && perc == 100) {
            
    delete this.onEnterFrame;
            
    this.gotoAndPlay("principale");
        }

    Se fai come ti ho indicato, funzionerà per certo, ma se dovessi avere dei problemi con il codice, vedrò di impostarti un esempio da scaricare per confrontarlo con quello che hai tu.
    Si funziona ho anceh fatto un altro filmato settando fin dall'inizio flash8 e actionscript 1.0 e il vecchio loader funziona alla perfezione. In questo devo aver pasticciato. Ora sono a posto con i loader

    Grazie And80 il tuo aiuto è stato fondamentale!

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.