![]() |
![]() |
|
| Condividi questo contenuto nei Social Network: |
|
Tweet |
|
|
|
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito. |
||||
|
|||||||||
Hey Amico Visitatore, Condividi con noi le tue idee e la tua conoscenza Aprendo una nuova discussione nella sezione Flash & ActionScript |
|
|
LinkBack | Strumenti di discussione |
|
|
#1 (permalink) |
|
User
|
Preload di file multipli
Io ho un swf di un filmato di 3/4 minuti, che tempo fa divisi per rendere piu facile la lavorazione (avevo un pc lento) pero adesso ho il problema che avendolo messo su internet (www.falshsite.altervista.org/Impero/impero.htm) quando arriva a caricare i vari swf necessitano di un preload, coem faccio a fargli caricare tutti e 10 gli swf in un unico preload prima che inizi il "filmato"?
grazie in anticipo dell'aiuto! |
|
|
|
|
|
|
|
#2 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Ciao KNight,
ti ricordi la classe PicLoader? http://www.giorgiotave.it/forum/flas...picloader.html Ebbene, per ogni swf che hai dovresti istanziare proprio quella classe. Inoltre , se i tuoi swf li vuoi caricare simultaneamente ed avere un preloader comune, devi per forza lavorare in classi, non c'è altra via. Questo perchè, ogni volta che istanzi la classe che carica l'swf vai ad aggiungere i suoi bytes caricati ad una proprietà di un'altra classe la quale stà ricevendo tutti i bytes caricati di tutti gli swf. Fai un totale, due conti ed ecco che il tuo preloder principale funziona. Vorrei esserti d'aiuto con parole più semplici, ma quello che chiedi è da puro actionscripter e non si può risolvere con un gotoAndPlay() o cose del genere. ![]() |
|
|
|
|
|
#4 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
...o forse ho capito male io.
Prova a metterli in un ciclo e li carichi tutti insieme. Però, se vuoi aspettare che siano tutti caricati prima che iniziano a riprodurre le animazioni o quello che hanno dentro, allora a quel punto devi per forza lavorare con MoiveClipLoader perchè attachMovie() non ha un listener ne tanto meno dei metodi per capire se l'swf è stato interamente caricato oppure no. |
|
|
|
|
|
#5 (permalink) |
|
User
|
il file in questione è qua www.flashsite.altervista.org/Impero/impero.htm
cosi capisci bene di che si tratta |
|
|
|
|
|
#8 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
Se vuoi ottenere un filmato unico, hai 2 soluzioni:
-li carichi tutti insieme e monitorizzi i bytes caricati, sarà molto pesante ma almeno l'utente sa qunto tempo più o meno ci vorrà, e questa soluzione è quella del mio primo post. -quando uno finisce, usi moviecliploader e carichi l'altro e l'utente vede la barra di preload per il video successivo ma otterresti un video che ogni tanto bisogna aspettare per vederselo. Soluzione migliore di tutte -fai un unico swf, lo esporti come flv e lo riproduci in streaming come fosse un video wmv. |
|
|
|
|
|
#9 (permalink) |
|
User
|
i flv nn li ho mai usati a dire il vero nn saprei proprio come fare, su un altro forum mi hanno passato questo AS:
Codice:
root.createEmptyMovieClip("placeholder", 1);
var mioElenco:Array = new Array("scena1.swf", "scena2.swf", "scena3.swf");
_root.i = 0;
function preloadMovie() {
car = placeholder.getBytesLoaded();
tot = placeholder.getBytesTotal();
per = int(car*100/tot);
msg = "sto caricando "+mioElenco[_root.i]+", avanzamento: "+per+"%.";
if (per == 100 && tot>0) {
clearInterval(preloadInterval);
_root.i++;
if (i<mioElenco.length) {
startDownload();
} else {
//unloadMovie("placeholder");
msg = "tutti i filmati sono stati caricati.";
}
}
}
function startDownload() {
placeholder.loadMovie(mioElenco[_root.i]);
preloadInterval = setInterval(preloadMovie, 10);
}
startDownload();
////--------------------------------------------------
Questo script qui sopra fa esattamente quello che ti serve.
L'Array mioElenco deve contenere i nomi dei file da caricare, ed è l'unica cosa che devi personalizzare.
In pratica carica i filmati nell'ordine in cui li hai scritti nell'Array, appena un filmato è stato completamente caricato viene subito cancellato e parte il download successivo.
Alla fine non avrai nessuno dei tuoi filmati sulla scena ma essendo già stati scaricati tutti si troveranno nella cache del computer in uso, quando ti serviranno potrai richiamarli con un semplice loadMovie ma invece che essere caricati dal server, saranno caricati dalla cache istantaneamente.
Inoltre c'è un'utilissima variabile msg che contiene un messaggio che puoi visualizzare durante il download, il messaggio è del tipo:
sto caricando scena1.swf, avanzamento: 34%.
Se posizioni sulla scena una casella di testo dinamico e gli associ questa variabile i tuoi visitatori sapranno cosa sta succedendo invece di aspettare davanti a una schermata ferma.
per quanto riguarda flv che mi sai dire? grazie della pazienza |
|
|
|
|
|
#10 (permalink) |
|
User Attivo
Data di registrazione: Feb 2006
Ubicazione: Undisclosed city of South America
Messaggi: 4,901
|
L'idea è davvero molto valida.
Il codice un po meno. Quell'intervallo che monitorizza i bytes non viene mai fermato, per cui il mio sospetto (dato che placeholder non viene mai eliminato e poi ricreato) è che non gira come dovrebbe. Ci sono anche altre cosette che mi danno da pensare che non gira ma anche questo è solo un sospetto. Per cui provalo e fammi sapere. Tengo a precisare (questo giusto perchè sono puntiglioso) che con MovieClipLoader faresti molto meglio. |
|
|
|
|
|
#14 (permalink) |
|
User
|
ho parlato con unmio amcio mi ha detto che se nell'animazioni ci sono delle interazioni nn si puo usare un flv, a questo punto usero un unico swf con tutto dentro e poi usero dei visible o invisible per far comparire e scomparire al moemnto giusto, cosi nn ho nessun problema, grazie lo stesso Flep
|
|
|
|