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

Responder a