Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Preload facile facile

  1. #1

    Preload facile facile

    Salve...mi sto cimentando con l'action script e ho bisogno di una mano per la creazione di un preload che mi "inizi" a come costuirne di più complessi. Semplicemente:
    Sullo stage creo un rettangolo come contenitore per la jpg e lo chiamo "cont". Poi un bottone, che chiamo "bott", e un rettangolo che fa da barra e, tanto per sfottere la fantasia, la chiamo "barra". Quindi lo script(preso da un tutorial che mi sembrava il più minimale possibile):

    bott.onRelease = function (){
    car = _root.getBytesLoaded();
    tot = _root.getBytesTotal();
    larghezza = 181;
    perc = Math.floor((car*100)/tot);
    progres = perc + "%";
    setProperty("barra", _xscale, (perc*larghezza)/100);
    setProperty("barra", _x, 79.5);
    if (car == tot) {
    cont.loadMovie("http://www.fumetti.org/lecture/origini/images/Image11.jpg");
    }
    }
    Così com'è succede che la barra prende subito la forma finale ed non c'è nessun effetto di ridimensionamento. Partendo da qui, rimanendo nella banalità della cosa, quindi senza stravolgerla, come dovrebbe essere lo script.
    Grazie a tutti

  2. #2
    Guardando un po in giro, tecnicamente ho risolto così:

    bott.onRelease = function (){
    setInterval (preload, 50, cont)
    cont.loadMovie("Ninfee.jpg");
    }
    function preload(miao){
    car = miao.getBytesLoaded();
    tot = miao.getBytesTotal();
    larghezza = 181;
    perc = Math.floor((car*100)/tot);
    setProperty("barra", _xscale, (perc*larghezza)/100);
    setProperty("barra", _x, 79.5);
    }

    Ora però, essendo x me una questione didattica, vorrei capire perchè l'altro script non funziona(e magari altri esempi di come può essere), e soprattutto perchè in questo devo dichiarare questa variabile "miao"(senza la quale è tutto inutile).Grazie a cosa queta variabile si lega al contenitore della mia jpg "cont", o alla stessa jpg?Grazie a setInterval(che è l'unica funzione che associa "preload" a "cont")?O cosa???
    Grazie

  3. #3
    nella seconda il setInterval ti permette di attendere il caricamento e quindi esegue anche "l'animazione" del preload

    studiare sulla guida il setInterval

    in ogni caso ti faccio un esempio terra terra


    tu devi caricare una foto all'interno di un clip "box"
    che a sua volta contiene

    il clip "img" vuoto per la foto
    il clip "barra" per il preload

    bene

    codice:
    box.img.loadMovie("foto.jpg") // carico foto
    box.img._alpha=0 // pongo l'alpha a zero
    box.barra._xscale=0 // azzerro la barra in orizzontale
    
    box.onEnterFrame=function(){ 
        /* fintanto che non mi sposto da questa frame
        eseguo ciclicamente i controlli/calcoli descritti
        */
        car=this.getBytesLoaded() // byte caricati
        tot=this.getBytesTotal()  // byte totali
        this.barra._xscale=Math.floor(car/tot*100) //rap. perc. caricamento
       if(car == tot && car > 1024){
          // foto caricata
          this.barra._xscale=100 // solo per sicurezza
          this.img._alpha=100 // vedo la foto
          delete this.onEnterFrame  // cancello liberando la CPU da inutili controlli e carichi di lavoro
       } // fine if
    }// fine enterFrame
    poi su come avviare il caricamento ..è in più, nel senso puoi adoperare un bottone etc..

    [ ]
    ps. la Horiz Gallery è anche su flash-mx.html.it sez movie
    [/ ]

  4. #4
    mi sembrava che avessi dimenticato ....


    codice:
    box.onEnterFrame=function(){ 
        /* fintanto che non mi sposto da questa frame
        eseguo ciclicamente i controlli/calcoli descritti
        */
        car=this.img. getBytesLoaded() // byte caricati
        tot=this.img. getBytesTotal()  // byte totali
        this.barra._xscale=Math.floor(car/tot*100) //rap. perc. caricamento
       if(car == tot && car > 1024){
          // foto caricata
          this.barra._xscale=100 // solo per sicurezza
          this.img._alpha=100 // vedo la foto
          delete this.onEnterFrame  // cancello liberando la CPU da inutili controlli e carichi di lavoro
       } // fine if
    }// fine enterFrame

  5. #5
    Quindi se non ho capito male il metodo loadMovie.onEnterFrame fa quello che nello script che ho descritto fa setInterval...cioè ripete periodicamente un qualcosa...in questo caso un controllo...e sbaglio se dico che mentre nel setInterval posso dare io il paramentro di ripetizione...in onEnterFrame questo è fisso e corrisponde alla frequenza di framerate del movie???Cmq grazie...ora il prox passo e far stare la foto dentro le dimensioni del movie che creo per contenerlo. Ciao

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.