Originariamente inviato da lisa76
x nat..
carico i filmati esterni in una clip vuota che risiede su un livello ma non ha importanza perchè nel loadmovie ha come target il nome istanza della stessa clip vuota.
un unico movielcip?
Originariamente inviato da lisa76
x nat..
carico i filmati esterni in una clip vuota che risiede su un livello ma non ha importanza perchè nel loadmovie ha come target il nome istanza della stessa clip vuota.
un unico movielcip?
che significa un unico movieclip??un unico movielcip?
é una clip che si ripete per ogni fotogramma...attenzione non è la stessa clip con istanze diverse, è sempre la stessa copiata semplicemente con l'azione copia fotogrammi. L'unica cosa che cambia è l'azione associata al fotogramma stesso, che ovviamente avrà al primo fotogramma qualcosa del tipo:
loadMovie ("corsi1.swf", "_root.clipload");
mentre al terzo fotogramma:
loadMovie ("corsi3.swf", "_root.clipload");
lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.
Vediamo di essere più chiaro, ecco il primo codice commentato:Originariamente inviato da lisa76
Il filmato in questione cos'è, sarebbe la clip che viene eseguita durante il preload (barra, percentuale...) e poi DOVE lo dovrei inserire
Okey questo codice è solo di avvio, blocca la timeline principale e per ognuno dei percorsi che hai inserito in 'URLdeifilmati' crea una clip vuota e inizia a caricare un filmato. Ora ci serve un piccolo movieclip che processi costantemente la stato di caricamento dei movie in modo tale da dirci se ha finito il preload e può mandare in play la timeline. Per farlo CREIAMO UN MOVIECLIP VUOTO, lo selezioniamo e inseriamo questo codice:codice://indirizzo di tutti i filmati URLdeifilmati = new Array("percorso1.swf","percorso2.swf"); //per ognuno dei filmati esistenti presenti // nella variabile URLdeifilmati esegui { for (c=0;c<URLdeifilmati.length;c++) { //crea una clip vuota _root.createEmptyMovieClip("preload"+c,c+1); //inizia il loadvar _root["preload"+c].loadMovie(URLdeifilmati[c]); } //blocca la timeline principale stop();
Quando tutti i singoli movieclip saranno caricati la timeline entrerà in play()codice://ad ogni frame esegui { onClipEvent(enterframe) { //crea variabile 'caricati' con il valore // dei byte caricati del movie principale caricati = _root.getBytesLoaded(); //crea variabile 'totali' con il valore dei // byte totali del movie principale totali = _root.getBytesTotal(); //per ogni filmato for (c=0;c<URLdeifilmati.length;c++) { //somma alle due variabili i loro parziali 'totale' e 'caricati' caricati += _root["preload"+c].getBytesLoaded(); totali += _root["preload"+c].getBytesLoaded(); } //se ha finito di caricare tutto { if (caricati==totali) { //manda in play la timeline _root.play(); } else { //altrimenti crea una variabile 'percentualedicaricamento' //con la percentuale di caricamento _root.percentualedicaricamento = 100/totali*caricati; }
Scusa ma cmq nel tuo codice tu carichi sul target _root.clipload un movie per ogni frame.... è completamente sbagliato:Originariamente inviato da lisa76
che significa un unico movieclip??
é una clip che si ripete per ogni fotogramma...attenzione non è la stessa clip con istanze diverse, è sempre la stessa copiata semplicemente con l'azione copia fotogrammi. L'unica cosa che cambia è l'azione associata al fotogramma stesso, che ovviamente avrà al primo fotogramma qualcosa del tipo:
loadMovie ("corsi1.swf", "_root.clipload");
mentre al terzo fotogramma:
loadMovie ("corsi3.swf", "_root.clipload");
quando tu attivi un loadMovie() automaticamente sovrascrivi il filmato con un nuovo load e se non ci piazzi qualche stop, questo non farà nemmeno in tempo a scaricarsi tutto che inizierai un nuovo preload (inutilmente) al massimo ti caricherà l'ultimo clip. O segui il mio codice o banalmente
crei 10 movieclip VUOTI e fai un bel loadMovie('percorso',targetdiunodeimoviechehaicrea to); per ognuno dei 10 clip da caricare, NON LO STESSO MOVIECLIP, così non ti carica praticamente niente, oltretutto come hai detto tu, puoi caricarli tutti insieme, invece come fai tu... non viene fuori niente ^__^
platone
allora, la prima fase è chiara e su quella non ci sono dubbi.
Per quanto riguarda:
non capisco ancora che intendi per "selezionamo" ed "inseriamo"Per farlo CREIAMO UN MOVIECLIP VUOTO, lo selezioniamo e inseriamo questo codice:
cioè sto moviclip vuoto lo mettiamo DOVE precisamente, nel primo fotogamma? Ed il codice da inserire..DOVE l'ho devo mettere? Nel primo frame della clip vuota...?
lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.
Ahia :quote: queste è una delle basi di flash (ci si mette sempre un po' prima di capirla)Originariamente inviato da lisa76
allora, la prima fase è chiara e su quella non ci sono dubbi.
Per quanto riguarda:
non capisco ancora che intendi per "selezionamo" ed "inseriamo"
cioè sto moviclip vuoto lo mettiamo DOVE precisamente, nel primo fotogamma? Ed il codice da inserire..DOVE l'ho devo mettere? Nel primo frame della clip vuota...?
Vediamo... il clip lo metti nel primo frame della timeline (infatti se non lo piazzi lì il codice non verrebbe processato perchè timeline rimane ferma al primo fotogramma), lo puoi mettere dovunque come x e y (tanto è un movieclip vuoto)
Ora selezionalo (compare un rettangolo blu intorno ai clip selezionati mentre per i clip vuoti il punto di registrazione passa da un cerchio ad una croce) ORA CHE L'HAI SELEZIONATO->PANNELLO AZIONE->COPIA AZIONE
Se fai doppio click entri nell'editing del movieclip MA NON DEVI FARLO! il codice onEnterFrame è una proprietà di tutto il movieclip non di un suo frame specifico! Quindi il codice non lo devi inserire in nessun fotogramma del movieclip vuoto (infatti il clip rimmarrà proprio vuoto).
spero di essere stato chiaro.. per scoprire che si potevano attaccare le azioni ai movieclip indipendentemente dalla timeline degli stessi, ci ho messo 2 giorni pure io
platone :metallica
forse c'è un errore di incompresione...Scusa ma cmq nel tuo codice tu carichi sul target _root.clipload un movie per ogni frame.... è completamente sbagliato:
quando tu attivi un loadMovie() automaticamente sovrascrivi il filmato con un nuovo load e se non ci piazzi qualche stop, questo non farà nemmeno in tempo a scaricarsi tutto che inizierai un nuovo preload (inutilmente) al massimo ti caricherà l'ultimo clip. O segui il mio codice o banalmente
crei 10 movieclip VUOTI e fai un bel loadMovie('percorso',targetdiunodeimovie
chehaicreato); per ognuno dei 10 clip da caricare, NON LO STESSO MOVIECLIP, così non ti carica praticamente niente, oltretutto come hai detto tu, puoi caricarli tutti insieme, invece come fai tu... non viene fuori niente ^__^
platone
E' OVVIO CHE HO MESSO DEGLI STOP!
I pulsanti nel menu hanno tutti l'azione gotoAndStop!
Ad ogni click questa azione manda la timeline ad un numero di fotogramma predefinito(che per sicurezza ha anche un azione stop definita sul fotogramma stesso) dove risiede questa movieclip vuota. All'interno di essa carico l'swf in questione a seconda del pulsante che è stato clikkato!
Ora, chiarito questo, posso sempre usare il codice che mi hai postato per caricarli nella cash insieme al preload iniziale?
lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.
Capito.. quell'azione non è per i preload, è semplicemente il menù per guardarli!Originariamente inviato da lisa76
forse c'è un errore di incompresione...
E' OVVIO CHE HO MESSO DEGLI STOP!
I pulsanti nel menu hanno tutti l'azione gotoAndStop!
Ad ogni click questa azione manda la timeline ad un numero di fotogramma predefinito(che per sicurezza ha anche un azione stop definita sul fotogramma stesso) dove risiede questa movieclip vuota. All'interno di essa carico l'swf in questione a seconda del pulsante che è stato clikkato!
Ora, chiarito questo, posso sempre usare il codice che mi hai postato per caricarli nella cash insieme al preload iniziale?okey perfetto... il mio codice funziona lo stesso...
solo una piccola aggiunta
dentro questo codice inserisci anche:
URLdeifilmati = new Array("percorso1.swf","percorso2.swf");
for (c=0;c<URLdeifilmati.length;c++) {
_root.createEmptyMovieClip("preload"+c,c+1);
_root["preload"+c].loadMovie(URLdeifilmati[c]);
_root["preload"+c]._visible=0;
}
stop();
così i filmati durante il preload saranno invisibili (se no rompono) una volta caricati (invisibilmente) sono e rimangono in cache, il menù li richiamerà in un istante!
platone
Niente da fare ho seguito passo passo i suggerimenti di platone ma niente![]()
![]()
![]()
Ricapitolando nel primo fame del filmato su un livello o messo la seguente azione al frame:
URLdeifilmati = new Array("fb.swf", "introduzione.swf", "vetrina.swf", "olioworld.swf", "contatti.swf");
for (c=0; c<URLdeifilmati.length; c++) {
_root.createEmptyMovieClip("preload"+c, c+1);
_root["preload"+c].loadMovie(URLdeifilmati[c]);
_root["preload"+c]._visible = 0;
}
stop ();
in un altro livello un movie clip e la seguente azione abbinata all'oggetto:
onClipEvent (enterFrame) {
caricati = _root.getBytesLoaded();
totali = _root.getBytesTotal();
for (c=0; c<URLdeifilmati.length; c++) {
caricati += _root["preload"+c].getBytesLoaded();
totali += _root["preload"+c].getBytesLoaded();
}
if (caricati == totali && caricati != undefined) {
_root.play();
} else {
_root.percentualedicaricamento = 100/totali*caricati;
}
}
&& caricati != undefined l'ho aggiunto io ma non cambia la sostanza...
nel secondo frame che in teoria si raggiunge a filmati caricati ho messo un loadmovieNum che mi carica il primo (che contiene un menù per raggiungere gli altri) i filmati sono tutti nella stessa directory.
Dove sbaglio?????![]()
![]()