Inserire un preload ad un avatar musicale o qualsiasi tipo di flash in Swishmax

« Older   Newer »
 
  Share  
.
  1. Tabrish
        +8   Like  
     
    .

    User deleted


    Inserire un preload ad un avatar musicale o qualsiasi tipo di flash in Swishmax

    png

    In questo piccolo tutorial vi spiegerò come si può facilmente creare un preload con swishmax. Per chi non lo sapesse, il preoload serve da copertina ai file flash (tipo gli avatar musicali) nel caso siano molto pesanti. Infatti nell'attesa di caricamento può rimanere una schermata bianca oppure partire quando alcune parti mancano ancora creando dei problemi nella visualizzazione e quindi nell'attesa verrà visualizzato il preload, con magari una barra di caricamento. Ecco come fare:

    - Create una scena prima di tutte le altre e rinominatela Preload.(non usate altri nomi)
    - Andate sulla parte script ed inserite esattamente questo codice:
    CODICE
    onFrame (5) {
       byte = _root.getBytesLoaded();
       tot  = _root.getBytesTotal();
       perc = int((byte/tot)*100);
       pers = perc add "%";
       _root.barra._xscale = perc;
       if (perc>99) {
           nextSceneAndPlay();
       }
    }
    onFrame (6) {
       prevFrameAndPlay();
    }

    - Adesso personalizzatevelo come meglio preferite, potete inserire un'immagine o una scritta per esempio.
    - Per aggiungere una barra di caricamento andate sulla scheda "Components", andate sulla voce "Progress" e inserite la "LoaderBar_Silver" (nessuno vi vieta di inserirne un'altra, ma in questa guida mi riferiò a questa.)

    - Normalmente questa barra funziona demo mode, per farla funzionare in relazione al caricamento dell'avatar dovete cancellare il codice dal movie con scritto "loader" (quello selezionato in figura) e inserite invece il codice più sotto.
    png
    CODICE
    function Progress() {
           /* This script is inserted by the component script apply (before) tab */
    }

    function loadParameters(txt) {
       // trace(txt);
       return eval("parameters." add txt);
    }

    function displaytext(mode,bytesloaded,bytestotal,pc) {
       switch(mode)
       {
           case "Percent":
           percent.text = int(pc + 0.5) add "%";
           break;
           
           case "Bytes":
           percent.text = bytesloaded add "/" add  bytestotal;
           break;
           
           default:
           break;
       }    
    }

    onSelfEvent (load) {
       G_displaymode = loadParameters("DisplayMode");
       G_goto = loadParameters("WhenLoadedGoto");
       G_blinkdelay = loadParameters("BlinkDelay");
       G_countdown = G_blinkdelay;
       G_hide = loadParameters("HideWhenLoaded");
       G_eventfunction = loadParameters("EventFunction");
       G_framecount = 0;
       
       G_v = 0;
       if ("Bar Only" != G_displaymode)
       {
           loading.text = loadParameters("Text");
       }
       // trace("loaded");
       
       progressbar.SetValue(0);
       displaytext(G_displaymode,_parent.getBytesTotal(),_parent.getBytesTotal(),100);    
       if ("Play Parent" == parameters.WhenLoadedGoto)
       {
           _parent.stop();    // stop parent movie
       }
    }

    onFrame (2) {
       setLabel("Loading");

       var bytesloaded:Number;
       var bytestotal:Number;


           bytesloaded = _parent.getBytesLoaded();
           bytestotal  = _parent.getBytesTotal();
       
           // in demo mode, simply show bar expanding based on current frame
                 
       

       if (bytesloaded >= bytestotal)
       {
           // movie is now loaded.
           if ("Bar Only" != G_displaymode)
           {
               // redisplay the loading object incase it was flashed off
               loading._visible = true;
           }
           if (G_hide)
           {
               this._visible = false;    // hide as now loaded.
           }
           Progress();
           if ("Use EventFunction" == G_goto && "" != G_eventfunction) {
               // call the user specified event function
               _parent[G_eventfunction].call(_parent,_name,"Loaded");
           }
           this.stop();            
           return;
       }    

       // process flashing loading text.
       if (G_countdown == 0)
       {
           G_countdown = G_blinkdelay;
           if ("Bar Only" != G_displaymode)
           {
               loading._visible = !loading._visible;
           }    
       }
       else
       {
           if (G_countdown > 0)
               G_countdown--;
       }

       G_v = bytesloaded / bytestotal * 100;
       // trace("ef:" add G_displaymode);
       
       progressbar.SetValue(G_v);
       displaytext(G_displaymode,bytesloaded,bytestotal,G_v);
       this.gotoAndPlay("Loading");
    }

    Fatto ciò il vostro preload sarà pronto. Trattandosi di una scena che funziona in modo autonomo potete inserirla in qualsiasi tipo avatar purché la mettiate prima delle altre scene.


    Edited by Tabrish - 12/3/2013, 22:27
     
    .
  2.     Like  
     
    .
    Avatar

    (╯°□°)╯︵ ┻━┻

    Group
    Membro Onorario
    Posts
    15,142
    Location
    (⊙_◎)

    Status
    Offline
    Bravooo! :dsffgg: :dsffgg: :dsffgg: :dsffgg: :dsffgg: :dsffgg: :dsffgg:

    Grazie mille mi sei stato di grande aiuto :dsfhsw: :dsfhsw: :dsfhsw:
     
    .
  3. Tabrish
        Like  
     
    .

    User deleted


    ma figurati xD
     
    .
  4. .Mike
        Like  
     
    .

    User deleted


    O_O ma io inserirsco semplicemente la barra che si trova in components > progress e funziona lo stesso senza fare nient'altro
     
    .
  5. Tabrish
        Like  
     
    .

    User deleted


    CITAZIONE (.Mike @ 12/3/2013, 22:32) 
    O_O ma io inserirsco semplicemente la barra che si trova in components > progress e funziona lo stesso senza fare nient'altro

    si ma funziona per i fatti suoi durante la simulazione sul pc, poi (almeno nel mio caso) quando lo carico online continua a funzionare per i fatti suoi. Con il codice che ho messo va di pari passo con il download dei dati e finisce esattamente a 100.
     
    .
  6. Sasuke_Uchiha
        Like  
     
    .

    User deleted


    Bella guida Sommo ;) , però aspetto la guida su come fare un'avatar con le gif
    se voglio lo so fare ò,ò, ma con la tua guida è più semplice e sprecherei meno tempo xD
     
    .
  7. .Mike
        Like  
     
    .

    User deleted


    A me funziona bene anche online, forse continua per i fatti suoi perchè non selezioni la casella "stop playing at end" nella scena Preload.
    comunque appena ho tempo provo anche con il tuo metodo xD
     
    .
  8. Tabrish
        Like  
     
    .

    User deleted


    CITAZIONE (Sasuke_Uchiha @ 12/3/2013, 22:43) 
    Bella guida Sommo ;) , però aspetto la guida su come fare un'avatar con le gif
    se voglio lo so fare ò,ò, ma con la tua guida è più semplice e sprecherei meno tempo xD

    un avatar giffato di per sè è così semplice da non meritarsi nemmeno un tutorial O_O
    comunque evitate di fare troppi avatar del genere che ancora si intasano le pagine di world archive xD
    CITAZIONE (.Mike @ 12/3/2013, 22:43)
    A me funziona bene anche online, forse continua per i fatti suoi perchè non selezioni la casella "stop playing at end" nella scena Preload.
    comunque appena ho tempo provo anche con il tuo metodo xD

    ho controllato ed è spuntato, comunque diciamo che quel codice lo obbliga a funzionare come se fosse online a scanso di parametri vari.
     
    .
  9. .Elle
        Like  
     
    .

    User deleted


    l'hai detto e l'hai fatto N1 :)
     
    .
  10. .Elle
        Like  
     
    .

    User deleted


    a me continuano ad alternarsi il preload all'avatar tipo ogni 0,1sec si scambiano "tipo intermittenza" eppure ho copiato quello che hai scritto
     
    .
  11. Tabrish
        Like  
     
    .

    User deleted


    CITAZIONE (.Elle @ 13/3/2013, 17:17) 
    a me continuano ad alternarsi il preload all'avatar tipo ogni 0,1sec si scambiano "tipo intermittenza" eppure ho copiato quello che hai scritto

    quando un avatar fa così può essere che manchi qualche stop() che fermi le scene del tuo, altrimenti te le scorre tutte senza fermarsi facendo l'intermittenza. Controlla e fammi sapere :)
     
    .
  12. ·Tenshi·
        Like  
     
    .

    User deleted


    ma solo a me non c'è il "components" O.O
     
    .
  13.     Like  
     
    .
    Avatar

    (╯°□°)╯︵ ┻━┻

    Group
    Membro Onorario
    Posts
    15,142
    Location
    (⊙_◎)

    Status
    Offline
    Nel menu, c'è ''WINDOWS'' clicca e ti appariranno una serie di funzioni, fra queste c'è "COMPONENTS" una volta cliccato ti darà la schermata ^_^
     
    .
  14. XxFINALBLADExX
        Like  
     
    .

    User deleted


    scusate a me quando faccio il test o mi scompare la barra oppure passa direttamente all'altra scena D:
     
    .
  15. .Mike
        Like  
     
    .

    User deleted


    CITAZIONE (XxFINALBLADExX @ 9/9/2013, 13:00) 
    scusate a me quando faccio il test o mi scompare la barra oppure passa direttamente all'altra scena D:

    Quando fai il test è normale, perchè non deve caricare nulla e il preload è istantaneo. Per simulare il caricamento devi andare in Windows > Debug e nella finestra che si apre seleziona "3Mbit/s". Poi fai di nuovo il test :)
     
    .
14 replies since 12/3/2013, 22:17   635 views
  Share  
.