ciao a tutti, allora...
recentemente mi sono imbarcato nella creazione di qualche classe personalizzata per delle transizioni e mi sono subito posto il problema di utilizzare dei metodi ridefinibili in runtime così come si fa con la classe Tween (onMotionChanged, onMotionFinished ecc...) così ho verificato la possibilità di definire e richiamare questi metodi in runtime e ho trovato possibile farlo solo rendendo la classe di tipo dynamic... faccio un esempio
codice:
dynamic class Prova {
private var __start:Number;
private var __limit:Number;
private var __interval:Number;
function Prova (limit:Number) {
__start = 0;
__limit = limit;
__interval = setInterval(this, '__process__', 100, __start, __limit);
}
private function __process__ (start:Number, limit:Number):Void {
start++;
if(start >= limit){
this['delete']()
this['onFinished']();
}
}
private function delete (){
if(__interval > 0){
clearInterval(__interval);
}
}
public function onFinished () {};
}
sul .fla
codice:
var prova:Object = new Prova(100);
prova.onFinished = function(){
trace("finito!!!");
}
ora chiedo, è questo il modo corretto di agire? va bene usare dynamic o ci sono dei problemi di "sicurezza" della classe? c'è un modo diverso di ottenere il medesimo risultato?
grazie a tutti