Hola F�lix,
aplicando un poco lo que se est� comentando en el otro post podemos usar
getters/setters y call().
<sintaxis>
myFunc.call(obj_referencia,param1,param2);
</sintaxis>
Esto nos ejecutar�a la funci�n myFunc() pero en el �mbito del objeto
obj_referencia. Esto es, dentro de la funci�n this apuntar� a
obj_referencia.
Con c�digo ser�a algo as� (no lo aplico al que has pasado):
<code>
function control() {
this.addProperty("onClickHandler",setClickHandler,getClickHandler);
}
control.prototype = new MovieClip();
control.prototype.setClickHandler = function(clickHandler) {
this.__clickHandler__ = clickHandler;
this.onRelease = this.__onRelease__;
}
control.prototype.getClickHandler = function() {
return this.__clickHandler__;
}
control.prototype.__onRelease__ = function() {
this.__clickHandler__.call(this);
}
Object.registerClass("tuMC_vinculado",control);
</code>
Para usarlo inserta un clip de pel�cula en el escenario, vinculado en la
biblioteca con nombre de vinculaci�n 'tuMC_vinculado'. Lo tienes que
insertar como muy pronto un frame despu�s que el object.registerClass.
Para asignar una funci�n:
<code>
function hola() {
trace("hola " + this);
}
miMC.setClickHandler("hola");
</code>
Espero que te sirva
Saludos
Xavi Beumala
> hola a todos,
>
> Tengo este codigo que creo que funciona, pero que no me gusta.
>
> En concreto lo que me interesa es la funci�n 'setOnPress' de la clase
> 'Control'.
>
> Lo que quiero hacer es activar un evento o handler para el 'onPress' de la
> clase 'Control' (de su clip, mas exactamente), de manera que el 'handler'
> o funci�n que ser� llamada reciba tambien una referencia al objeto que
> recibe el evento.
>
> Ahora lo hago pasando 'handler' y 'objeto' a 'setOnPress' y almacenandolos
> en la instancia del Control ( en onPressHandler y onPressObjeto), para que
> la funci�n 'control.clip.onPress' tenga acceso a ellos.
>
> �alguna sugerencia para mejorarlo?, o algun cambio de concepto?
>
> un saludo.
>
> El codigo:
>
> // Clase Control
>
> function Control(){
> this.clip=createEmptyMovieClip( "Control"+this.prof, this.prof );
> this.clip.clase = this;
> }
>
>
> Control.prototype.setOnPress = function(handler,objeto){
> this.onPressHandler=handler;
> this.onPressObjeto=objeto;
> this.clip.onPress=function(){
> this.clase.onPressHandler(this.clase.onPressObjeto);
> }
> }
>
> // Clase Estado
>
> function Estado(control){
> this.control=control;
> this.prueba=15;
> this.control.setOnPress(this.onPress,this);
> }
>
> Estado.prototype.onPress = function(){
> trace("onPress de Estado. " + objeto.prueba);
> }
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.net/asnativos
> -------------------------------->
>
<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
-------------------------------->