|
|||||||
| Registrazione | FAQ | Lista utenti | Calendario | Cerca | I messaggi di oggi | Segna forums come letti |
![]() |
|
|
LinkBack (3) | Strumenti discussione | Modalità visualizzazione |
|
|
#1 (permalink)
|
|
Junior Member
|
Salve,
apro ufficialmente il canale di ActionScript rispondendo a una domanda che ho sentito molte volte, su altri Forum: Come si fa un Preload? Immagino che tutti voi sappiate che cosa è un Preload: Un Preload è un’animazione che intrattiene l’utente di un filmato Flash mentre attende il caricamento del filmato stesso, in maniera da poterlo poi riprodurre senza interruzioni dovute alla lentezza del collegamento. Sebbene sembri una cosa banale da cui iniziare, è utile per conoscere la storia del linguaggio e l’evoluzione che questo ha avuto nel corso degli anni. Prima di Flash 4 non era possibile creare un Preload per le animazioni, gli unici comandi che il Player riusciva ad eseguire erano molto semplici e questo rappresentava un grosso limite per gli sviluppatori. Da Flash 4 fanno la loro apparizione alcuni comandi che consentivano di controllare questo aspetto, in particolare le proprietà _totalframes e _framesloaded. La proprietà _totalframes, di sola lettura, ci forniva il numero totale di fotogrammi che compongono un’animazione, la proprietà _framesloaded, anche lei di sola lettura, ci rivelava fino a che fotogramma avevamo già in memoria. Confrontando questi due valori potevamo sapere se tutto il filmato era pronto per essere eseguito. Tutto quello che serviva era ripetere questo controllo continuamente, almeno fino al totale caricamento del filmato. A quel tempo ActionScript non aveva a disposizione nessun comando che ci permettesse di ripetere lo stesso controllo tante volte, quindi l’unica maniera per farlo era rimandare indietro di un fotogramma l’animazione fino a quando non fosse soddisfatta la condizione che ci serviva. Un esempio di preload funzionante per Flash 4 è questo: Codice:
// Secondo fotogramma
x = _totalframes;
y = _framesloaded;
if (x>y) {
gotoAndPlay(1);
}
Molte funzioni furono aggiunte al linguaggio e questa versione è quella che oggi ricordiamo con il nome di ActionScript 1.0. Anche se in Flash 5 non sarebbe stato più necessario utilizzare i fotogrammi per ripetere il controllo più volte, la gente ha continuato per tanto tempo ad utilizzare questo sistema, utilizzando però le due nuove proprietà getBytesTotal e getBytesLoaded che fornivano dei valori più affidabili, espressi in Bytes, riguardo al peso del filmato e di quanto già caricato. Ecco come appariva un Preload semplice in Flash 5: Codice:
// Secondo fotogramma
tot = _root.getBytesTotal();
car = _root.getBytesLoaded();
if (tot>car) {
gotoAndPlay(1);
}
La gestione del Preload rimane più o meno invariata nel corso degli anni, alla ripetizione tramite fotogrammi sono stati sostituiti onEnterFrame o setInterval, ma nel complesso il criterio rimane lo stesso fino alla versione 8 di Flash. Ecco un esempio di un Preload in ActionScript 2.0: Codice:
/// Primo fotogramma
onEnterFrame = function() {
var car:Number = getBytesLoaded();
var tot:Number = getBytesTotal();
if (car == tot) {
delete(onEnterFrame);
play();
}
}
stop();
Ed eccoci arrivati alla fine del primo articolo sul canale ActionScript, alcuni di quelli che sono arrivati a leggere fino a qui si aspetteranno di leggere il sistema da utilizzare per creare un Preload col nuovissimo ActionScript 3.0, e io sono qui per accontentarli, ma prima una premessa... Passare dalla versione 2.0, familiare e rassicurante, alla 3.0 comporterà grandi sforzi per tutti i Flasher, però bisogna considerare che:
Detto questo ecco lo stesso precedente preload scritto con la nuova sintassi del linguaggio 3.0: Codice:
addEventListener(Event.ENTER_FRAME, caricamento);
function caricamento(e:Event):void {
var car = Math.round(stage.loaderInfo.bytesLoaded);
var tot = Math.round(stage.loaderInfo.bytesTotal);
if (car == tot) {
removeEventListener(Event.ENTER_FRAME, caricamento);
play();
}
}
stop();
|
|
|
|
| Links Sponsor |
|
|
![]() |
| Bookmarks |
| Strumenti discussione | |
| Modalità visualizzazione | |
|
|
LinkBacks (?)
LinkBack to this Thread: http://www.graficicreativi.com/design-interattivo-animazioni-flash/38-il-preload-actionscript-1-2-e-3-a.html
|
||||
| Scritto da | For | Type | Data | |
| che cosa è il PRELOAD | VIRGILIO Ricerca | Web | This thread | Refback | 17-11-2008 14.29.18 | |
| preload flash 5 | VIRGILIO Ricerca | Web | This thread | Refback | 16-10-2008 04.24.19 | |
| preload flash5 | VIRGILIO Ricerca | Web | This thread | Refback | 08-07-2008 11.59.39 | |