Quando navigo, una delle cose che
gradisco di più è sapere quanto ci metterà una pagina a caricare
tutti i suoi elementi e se un sito è stato costruito totalmente
in Flash, prima di avere un qualcosa sullo schermo di tempo ne
può passare un bel po' e stare a fissare uno schermo vuoto non è
il massimo.
In nostro aiuto, quindi, può
accorrere una tecnica chiamata comunemente lo schermo o la
barra di loading.
Di queste tecniche ce ne sono
molte, da molto semplici a molto complesse (dipende anche dal
risultato che si vuole ottenere) e quindi quelle che verranno
analizzate in questa sede non devono assolutamente essere prese
come oro colato o come le uniche esistenti sulla piazza.
Detto questo, cominciamo...
Innanzitutto cerchiamo di capire
se ci serve uno schermo di loading.
Se il nostro movie sta sotto i 20
Kb o è formato da pochi frames, probabilmente mettere un loading
all'inizio del movie non è così necessario come potrebbe
sembrare.
Voglio dire che uno schermo di
loading serve solo nel caso che l'effettivo caricamento
dello swiff sia di una durata considerevole (diciamo dai 30
secondi in su), in caso contrario non credo che potrebbe essere
utile.
Dopotutto questa tecnica serve per dire all'utente: "Io ho fatto
del mio meglio, ma guarda che potresti dover aspettare un
po'..." e quindi non è il caso di appesantire uno swiff che
magari si carica in 10 secondi solo perchè vogliamo fare i
figoni con le barre di preload o perchè fare una schermata di
loading è un casino di tendenza...
Per farla breve, anche se
potrebbe essere d'effetto, consideriamo una barra o uno schermo
di loading solo ed esclusivamente se ce n'è bisogno.
Le tecniche per realizzare
questo effetto sono diverse e tutte efficaci: si va dalla
semplice schermata con un movie clip a raffinatissime barre di
preloading gestite da variabili e FS command.
Quindi poco per volta (e tempo
permettendo...), vedremo di analizzarne tipi diversi.
In modo semplice
Senza stare a scomodare FScommand, variabili e
compagnia bella, si può già creare un buon risultato utilizzando
due action molto semplici: If frame is loaded e Go to.
Analizziamo la faccenda: cosa fa
uno schermo di preload ?
Rimane in bella vista fino a quando qualcosa non gli comunica
che lo swiff è stato caricato completamente e questo qualcosa è
l'action If frame is loaded.
Una volta che lo swiff è stato
caricato bisogna andare avanti e qui entra in campo l'action
Go to.
Tutto questo si traduce nell'impostare un loop di controllo che
gestisca la partenza del movie.
Facendo le cose facili possiamo
procedere in questo modo:
1-
Inseriamo due Frames nelle posizioni 1 e 2 della timeline.

Andiamo nelle proprietà del primo
frame ed inseriamo queste action:

NOTA:
il fatto di aver messo 100 nel primo comando non è obbligatorio.
Chiaramente il numero può cambiare a seconda di quanto lungo sia
il vostro movie e comunque dovrete sempre inserire il numero
dell'ultimo frame (sempre che abbiate una scena sola).
Questo frame funziona così:
essendo il primo, il suo caricamento è immediato e controlla se
l'ultimo frame è stato caricato.
Se l'evento è soddisfatto, ossia l'ultimo frame è stato
caricato, salterà al terzo frame, posizione di partenza del
vostro movie.
Se l'evento non è soddisfatto, ossia l'ultimo frame non è ancora
stato caricato, continuerà la corsa verso il frame successivo,
ossia il secondo.
2-
Nel secondo frame inseriamo un semplice Go to & Play (1).
Questo serve per tornare al primo
frame, nel caso che il test di controllo non abbia passato la
verifica.
Et voilà... abbiamo creato il
nostro loop di controllo che fa rivedere il primo frame fino a
quando non viene caricato tutto il movie.
3-
Torniamo nel primo frame e inseriamo un nuovo layer dove
metteremo il nostro movie clip.
Questo clip può essere una scritta, un'animazione o qualunque
cosa vi passi per la testa e che indichi il caricamento.
Per testare tutto quanto:
Control Menu > Test Movie e Control Menu > Show Streaming.
ù
Complichiamoci la vita ;-)
Ok, abbiamo visto nel tutorial precedente come
creare una schermata che avverte del loading in corso.
Questo metodo, comunque, va bene
solo nel caso non vogliate far vedere una barra progressiva di
caricamento.
Intendiamoci, potete anche farla, ma comunque non sarebbe una
"vera" barra, ossia non indicherebbe il reale stato di
caricamento dello swiff.
Per ottenere questo, bisogna
complicare un pochino il lavoro fatto in precedenza.
Un'avvertenza: i puristi di Flash
potranno storcere il naso, dato che questa è comunque una
simulazione di una progressione, ma come detto nel primo
tutorial, cominciamo dalle basi e non stiamo a scomodare
variabili e FS Commands.
Ah, dimenticavo: il file di
esempio di Michele è leggermente diverso da questo tutorial,
dato che usa meno frame per la barra, ma comunque la teoria alla
base è identica.
Per disegnare la barra,
cominciate col disegnare una riga che abbia delle divisioni che
vanno da 0 a 100 con incrementi di 10.
Fatela diventare symbol e poi,
con questa riga come riferimento, create dieci rettangoli di
diverse lunghezze che userete per indicare 10, 20, 30 fino a
100%.
Sbizzarritevi pure nel creare una
barra graficamente di effetto, ma fatelo solo quando avrete
imparato bene a gestire gli oggetti sulla scena.
Per organizzare bene il lavoro,
create un nuovo layer per la barra.
Poi, all'inizio del vostro movie, inserite 11 frame.
Inserite la riga quotata nel
frame 1 e poi dal 2 al 11 inserite i rettangoli (chiaramente in
ordine di lunghezza...).
Ora possiamo occuparci dei
comandi.
La logica da seguire è questa:
far compiere una serie di controlli progressivi del caricamento
dello swiff e visualizzare di conseguenza un certo frame.
Mettiamo, per facilità di
calcolo, che abbiate un movie di 100 frame (esclusi i primi 11).
Per una barra che incrementa di 10 in 10, dovrete far
controllare il caricamento dei frame 21, 31, 41 fino a 111.
I comandi da inserire sono
questi.
|
Primo frame |
Stop
If frame is loaded (11)
Go to next frame
End frame loaded |
|
Secondo frame |
Stop
If frame is loaded (21)
Go to next frame
End frame loaded |
|
Terzo frame |
Stop
If frame is loaded (31)
Go to next frame
End frame loaded |
Andate avanti così fino a quando
non avrete programmato tutti e 11 i frame.
L'undicesimo naturalmente (se
avete fatto bene i calcoli...) controllerà l'ultimo frame e una
volta passato il controllo, salterà al next frame, ossia
l'inizio del vostro movie.
Per testare tutto quanto:
Control Menu > Test Movie e Control Menu > Show Streaming.