Scusa non è per dire Natasha... ma il tuo codice ha un sacco di imprecisioni ed alcuni errori... é___è
onClipEvent (load) {
pos = -200;
URLdeifilmati = new Array("fb.swf", "vetrina.swf", "olioworld.swf", "contatti.swf");
for (c=0; c<URLdeifilmati.length; c++) {
trace (c);
duplicateMovieClip ("_parent.preload", "preload"+c, c+1);
_root["preload"+c]._x = pos;
_root["preload"+c].loadMovie(URLdeifilmati[c]);
trace (URLdeifilmati[c]);
_root["preload"+c]._alpha = 0;
pos = pos+250;
}
_root.stop();
}
Se rendi il filmato trasparente esso andrà tuttavia in esecuzione al 100% delle risorse del player, quando invece disattivi la visibilità del clip con la proprietà _visible, il filmato è come se non venisse riprodotto (eccetto per l'actionscript in esso contenuto) ma graficamente non consuma niente. Invece mettendo alpha a 0 il clip non scompare veramente... cioè è solo invisible ma c'è e pesa sulla velocità del filmato (soprattutto se ci sono 10 clip invisibili!!!!).
Poi la funzione duplicateMovieClip usata in questo modo è deprecata... Infatti:
nuovoclip = duplicateMovieClip("clip" + c, c+1);
restituisce il target del clip creato nella variabile nuovoclip, quindi tutti i comandi successivi possono essere adattati così:
bll = duplicateMovieClip ("_parent.preload", "preload"+c, c+1);
bll._x = pos;
bll.loadMovie(URLdeifilmati[c]);
nel codice che processa lo stato di caricamento ci sono degli errori:
onClipEvent (enterFrame) {
caricati = _root.getBytesLoaded();
totali = _root.getBytesTotal();
trace (k);
if (k<=URLdeifilmati.length) {
caricati += _root["preload"+k].getBytesLoaded();
totali += _root["preload"+k].getBytesTotal();
if (caricati == totali && caricati != undefined) {
k++;
} else {
_root.perc = Math.round(caricati*100/totali);
trace ("caricati:"+caricati+"totali:"+totali);
}
}
if (k==URLdeifilmati.length+1) {
for (k=0; k<URLdeifilmati.length; k++) {
_root["preload"+k]._alpha = 100;
_root.play();
}
}
}
Il codice così fatto non controlla lo status di caricamento di tutti i clip... controlla SOLO lo status di caricamento del filmato principale + un solo clip, al termine del download di questo somma un'altro clip e così via, l'andamento della percentuale sarà così incostante, infatti: raggiunto il 100%, inizierà a calcolare anche il download del clip successivo, così da 100 scende a 93 poi sale di nuovo a 100 e scende ancora a 90 e così via finchè non ha caricato effettivamente tutti i clip.
Bisogna usare un ciclo for per calcolarli tutti non un if che blocca il calcolo.
Certo funzionama è un preload un po' bizzarro.
In ultimo i clip da quello che ho capito non dovevano vedersi al termine del download ma essere richiamati manualmente da un menù. quindi per quanto riguarda la parte finale sull'alpha credo che sia inutile.
ciaoooooooooooooooooooooooo
platone
![]()

ma è un preload un po' bizzarro.
Rispondi quotando
non ho capito molto bene cosa vuoi dire ma mi sembri offesa?
