ha senso se la funzione ha uno "stato" o se invece di funzione fai una classe , dove ogni metodo viene "diluito" frame per frame o ogni tot frames ...
esempio ...
codice:
class CalcoloMassiccio {
private var __status__:Object;
function CalcoloMassiccio() {
this.__status__ = new Object();
}
public function method( what:String ):Void {
if( this[what] != undefined ) {
this.__status__[what] = this[what]();
}
}
public function getResult():Number {
var __result__:String;
for( var a in this.__status__ ) {
if( this.__status__[a] != undefined && __result__ == undefined ) {
__result__ = a;
trace( __result__ );
}
}
return this.__status__[__result__];
}
private function __primiCalcoli():Number {
var __n:Number = 0;
for( var a:Number = 1; a < 100000; a++ ) {
__n += a;
}
return __n;
}
private function __secondiCalcoli():Number {
var __n:Number = this.__status__.__primiCalcoli;
for( var a:Number = 1; a < 100000; a++ ) {
__n -= Math.random() * a;
}
return __n;
}
private function __terziCalcoli():Number {
var __n:Number = this.__status__.__secondiCalcoli;
for( var a:Number = 1; a < 100000; a++ ) {
__n += Math.round( a / ( a - 2 * a ) ) + a;
}
return __n;
}
}
sul primo kkeyframe del fla
var cm:CalcoloMassiccio = new CalcoloMassiccio();
sul quinto key frame del fla
cm.method( '__primiCalcoli' );
// trace( cm.getResult() ); se vuoi controllare il
// risultato dopo __primiCalcoli
sul decvimo keyframe del fla
cm.method( '__secondiCalcoli' );
// trace( cm.getResult() ); se vuoi controllare il
// risultato dopo __secondiCalcoli
sul quindicesimo keyframe del fla
cm.method( '__terziCalcoli' );
// trace( cm.getResult() ); se vuoi controllare il
// risultato dopo __terziCalcoli
sul ventesimo keyframe del fla
stop();
trace( cm.getResult() ); // risultato totale
e' solo un esempio di classe con stato e metodi a chiamata ritardata con informazioni a cascata ... intanto nel layer sotto puoi far muovere la pallina in motion tween , ad esempio ...