PREGI:
- utilizza meno risorse di onEnterFrame
- solitamente e' scritto in modo piu' portabile rispetto onEnterFrame
- e' piu' preciso e difficilmente sfasa i tempi "calcolati"
DIFETTI:
- va controllato scrupolosamente e non puo' essere "dimenticato"
- se usato con loadMovie e il movie caricato ha un setInterval, bisogna ricordarsi di rimuoverlo ad ogni nuovo loadMovie o su ogni unloadMovie effettuato sullo stesso mc che carica
prendete un file di nome movie.fla
istanziate 2 movieClip, uno che fara' da bottone e un altro che fara' da loader ...
il primo con nome istanza loader_btn e il caricante con nome istanza loader_mc
ora create un file movie1.fla , scrive al suo interno , sul keyframe, semplicemente questo:
codice:
function tracer() {
trace( 'intervallo' );
}
this.__interval = setInterval( this, 'tracer', 1000 );
esportate l' swf movie1.swf ... tornate al movie.fla ...
scrivete semplicemente questo:
codice:
loader_btn.onPress = function() {
if( !this.__loaded ) {
loader_mc.loadMovie( 'movie1.swf' );
}
else {
loader_mc.unloadMovie();
}
this.__loaded = !this.__loaded;
}
se clickate il bottone ... carica il movie1.swf , poi ad ogni secondo vedrete un trace ... se riclickate il bottone scarica movie1.swf e l' interval smette ...
ma cosa succede se riclickate per ricare ???
il player, o meglio il movie caricante, si ricorda dello scorso intervallo, ne crea un altro ... e la funzione verra' richiamata 2 volte ... scaricate e ricaricate ... 3 volte .... etc etc ...
Questo 3D vuole solo essere di aiuto per chi si danna con azioni "scattanti" o carichi di CPU incrementali, nonostante abbia optato per un setInterval, dentro le proprie sezioni esterne, piuttosto che un onEnterFrame ... in pratica e' solo una delucidazione in merito sul:
perche' carico movie esterni ed uso setInterval ma dopo un po' che navigo il sito scatta ???
ecco il perche', se invece usate loadMovieNum, questo non accade.
Solo un approfondimento, spero sia utile a qualcuno