Untitled DocumentHola a [EMAIL PROTECTED]:
Estoy haciendo una clasecilla para tener controlados todos los eventos
onEnterFrame que pueda tener desperdigados por ah�, y b�sicamente se
compone de 3 m�todos, 2 p�blicos y uno privado: (y s�, ya lo se, es as1.
cuando me rule lo paso a as2)
function FrameServer() {
this.metodos = new Array(); // aqu� se almacenan los nombres de los m�todos
que se quieran ejecutar
}
FrameServer.prototype = new MovieClip(); // extendemos
FrameServer.prototype.addFrameLoop = function(metodo) { // a�adimos un nuevo
m�todo y ejecutamos el onEnterFrame
this.metodos.push(metodo);
if (this.metodos.length!=0){
this.onEnterFrame = this.__FrameLoop;
}
};
FrameServer.prototype.removeFrameLoop = function(metodo) { // para borrar un
metodo en ejecucion
for (var i = 0; i<this.metodos.length; i++) {
if (this.metodos[i] == metodo) {
this.metodos.splice(1, i);
}
}
if (this.metodos.length == 0) {
delete this.onEnterFrame;
}
};
FrameServer.prototype.__FrameLoop = function() {
for (var i = 0; i<this.metodos.length; i++) {
this.metodos[i](); // ejecutamos los m�todos que esten en el array
}
};
---------------------------------------------------------------------------
Luego el uso ser�a sencillo, por ejemplo:
function prueba() {
this.init();
super();
}
prueba.prototype = new FrameServer();
prueba.prototype.init = function() {
var mc = _root.attachMovie("testSymbol", "testmc", 100); // para pruebas,
luego pongo el registerclass
mc.onRollOver = this.resaltar;
mc.onRollOut = this.restaurar;
};
prueba.prototype.resaltar = function() {
this.addFrameLoop("bucle");
};
prueba.prototype.restaurar = function() {
this.removeFrameLoop("bucle");
};
prueba.prototype.bucle = function() {
trace("pulsando");
};
Pero l�gicamente no me va :(
Joseba, refr�scame las ideas plis ;)
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->