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 ...