mit mc auf klassen methoden und attribute zugreifen

p-flash

Erfahrenes Mitglied
Hi,

mc ist ein Attribut vom Typ MovieClip in der Klasse DieKlasse.

PHP:
public class DieKlasse
{
  var mc : MovieClip;
 
  var hoehe : Number;

   public function getHoehe() : Number {return hoehe;}
}
Wenn ich jetzt mc einen Handler geben will, der mir den Wert von hoehe gibt, mache ich das normalerweise folgendermaßen (der code ist in einer Methode in DieKlasse):

PHP:
...
mc.__klasse = this;
mc.onRelease = function ()
{
    trace(this.__klasse.getHoehe());
};
...
Gibt es nicht eine andere Möglichkeit? Eine bei der ich die Klasse nicht vorher als Attribut in mc speichern muss. So dass es reicht dem Mc nur die Funktion zuzuweisen. Also:

PHP:
...
mc.onRelease = handler;
...
handler ist dann z.B. eine Methode der Klasse DieKlasse und this in handler referenziert auf DieKlasse und nicht auf mc.

Hat da jemand eine Idee?

Danke...

p-flash
 
Hi,

Du kannst eine Referenz auf die Klasse als lokalen Member in der entsprechenden Methode anlegen:
Code:
function foo() {
    var that:DieKlasse = this; // Referenz auf Klasse speichern
    mc.onRelease = function() {
        trace(that.getHoehe()); // ... ist hier noch gültig ("this" würde auf "mc" zeigen)
    }
}

Gruß
.
 
Zurück