Hola lista
tengo un problema de ambitos en una clase, pero no consigo arreglarlo ni con 
el Delegate.
Tengo una clase que controla unos sonidos, y tiene unos metodos publicos que 
suben y bajan el volumen:

class SonidoGlobal {
    function SonidoGlobal() {
        //
    }
    public function bajarVolumen():Void {
        trace("Bajando...");
        trace(this);
    }
}


La instancio en la peli

    var miSonido:SonidoGlobal = new SonidoGlobal();

Si hago la llamada a miSonido.bajarVolumen(), no hay problema, la funcion 
hace lo que tiene que hacer y al trazar this, devuelve un objeto de tipo 
SonidoGlobal, la instancia creada.
Pero tengo un clip (mute_mc) donde hay una serie de funciones y hago una 
referencia al metodo de la clase, que me resulta muy comoda. Simpre me ha 
ido muy bien, corregidme si no se puede hacer asi.

var bajarVolumen:Function = _parent.miSonido.bajarVolumen;

this.onPress = function() {
    bajarVolumen();    // Esto no funciona, devuelve _level0.mute_mc
    //_parent.miSonido.bajarVolumen();     // Esto si funciona, devuelve 
[Object, Object]
};

Es extraño, ambas llamadas llegan bien a la funcion, pero parece que al 
sobreescribirla, pierde el ambito y por lo tanto no funciona bien.
Alguna sugerencia?
Gracias.




-----------------------------------------------------
ASNativos
www.5dms.com
subscripciones/desubscripciones
http://asnativos.5dms.com
-----------------------------------------------------

Responder a