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


Rispondi quotando