Originalmente inviato da
debug
E io ti ripeto che ci sono tonnellate di preload molto più che decenti, senza scomodare alcuna classe!
Fidati, c'ho passato anni con l'AS 1.0
Scusa, scindere il discorso degli oggetti da cosa?
Forse confondi gli "oggetti" componenti di flash (clip, suoni, istanze, keyframe) con gli oggetti della programmazione...
Ciao!
un MovieClip che tu lo crei scrivendo codice o inserendo un simbolo sullo stage è pur sempre una classe .....quindi è uguale a scrivere uan cosa del genere
Codice HTML:
var clip:MovieClip = new MovieClip();
e la stessa cosa sarebbe disegnare un simbolo nello stage e trascinare un istanza chiamandola clip
infatti è quello che ho scritto .....aver chiaro il concetto di istanza che in flash FONDAMENTALE qualsiasi versione di actionscript si usi
Originalmente inviato da
io
nn è semplice... però se sai destreggiarti con flash puoi scaricarti qualcosa di prefatto... devi sempre avere chiaro il concetto di istanza in modo da poter personalizzare il tuo preload
edit x IECA:
ecco una funzione che fa cambiare la scena nn appena caricata
Codice HTML:
//funzione Nome Preload
function preload() {
//inizializzo le variabili
var totale, loading, perc;
//Totale è uguale al totale dei Bytes
totale = _root.getBytesTotal();
// loading è uguale al byte caricati
loading = _root.getBytesLoaded();
perc = Math.floor((loading*100)/totale); //mathfloor restituisce un numero intero
//per avere la percentuale di caricamento facciamo
//i byte caricati moltiplicato 100 diviso i byte totali
//il campo di testo è un testo dinamico e ha come istanza perc_testo
//e si aggiunge anch la srtinga "%"
perc_testo.text = perc+" %";
//la barra va e si ferma quando ha raggiunto perc che in questo caso è diventato 100
barra.gotoAndStop(perc);
// se loading è UGUALE a totale
if (loading == totale) {
//interrompi la funzione
clearInterval(preInterval);
//vai alla scena 2
gotoAndPlay ("Scena 1", 1);
}
}
// setInteral esegue una funzione continuamente con la frequenza che vogliamo noi, espressa in millisecondi.
//setInterval è un metodo che ripete in continuazione una azione, può essere fermato con clearInterval
//e bisognerebbe ricordarsi di fermarlo se non serve più: infatti i cicli di questo tipo continuano a funzionare
//anche se non ne vediamo gli effetti, rallentando l’esecuzione del filmato (anche se di poco)
//se dovessimo lasciare attivi molti cicli di questo tipo ci accorgeremmo della “pesantezza” dell’esecuzione del filmato Flash.
//Il numero minimo di argomenti da passare a questo metodo è 2: il nome della funzione da ripetere e il numero
//di millisecondi da attendere tra un’esecuzione e la successiva.
//L’ultimo rigo imposta il ciclo per fare in modo che la stessa funzione sia ripetuta 100 volte al secondo (ogni 10 millisecondi).
var preInterval = setInterval(preload, 10);
alla funzione gotoAndPlay ("nome scena da assegnare","numero fotogramma") devi assegnare il nome della scena a cui vuoi che punti e il numero del fotogramma da cui vuoi che parta
devi creare una TextField (casella di testo dinamico) direttamente dal pannello proprietà e devi dargli nome istanza perc_testo(sempre dal pannello proprietà)
poi devi creare un Movieclip e trasportare un istanza nello stage a cui dai nome di istanza barra ....deve compiere una nimazione tipo quella classica di caricamento
ovviamente questo codice deve stare in un frame in un'altra scena del tuo file.fla che puoi chiamare preload