Autor |
Nachricht |
3ccd
Threadersteller
Dabei seit: 11.08.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mo 11.08.2008 16:41
Titel Geltungsbereich von Instanzvariablen |
|
|
Hallo,
folgende Situation: In einer Instanz von "Interface" weise ich einem Button eine onPress-Prozedur zu, darin wird eine onEnterFrame-Prozedur zugewiesen. Der (gekürze) Quellcode sieht so aus:
Code: |
class Interface {
private var ui_mc:MovieClip;
public function Interface(u:MovieClip) {
ui_mc = u;
}
public function pano_interface_starten(pano:Panorama) {
var pano_anzahl:Number = pano.panoramen.length;
var beschriftung:TextField = ui_mc.slider_mc.beschriftung_txt;
ui_mc.slider_mc.strich_btn.onPress = function() {
this.startDrag(false, 0, -3, 100*(pano_anzahl-1), -3);
this.onEnterFrame = function() {
beschriftung.text = pano.transparenz_aendern(this._x);
}
}
}
}
|
Zu meiner Frage: Ich würde gerne in der onEnterFrame-Prozedur direkt auf ui_mc.slider_mc.beschriftung_txt zugreifen. Das klappt aber nur über den Umweg der weiter oben initialisierten beschreibung-Variablen. Warum ist das so bzw. muss ich es evtl anders adressieren? (Ein absoluter Pfad ist natürlich nicht elegant.)
Danke & LG,
3CCD
|
|
|
|
|
phihochzwei
Moderator
Dabei seit: 08.06.2006
Ort: Mülheim an der Ruhr
Alter: 46
Geschlecht:
|
Verfasst Di 12.08.2008 12:52
Titel
|
|
|
Du kannst auch relative Pfade nehmen. Ich würd aber an deiner Stelle lieber direkt auf die Datenquelle zugreifen, die auch die Beschriftung nutzt.
|
|
|
|
|
Anzeige
|
|
|
3ccd
Threadersteller
Dabei seit: 11.08.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 13.08.2008 15:47
Titel
|
|
|
Tut mir leid, ich verstehe das nicht ganz: Wenn ich in einem Objekt eine Ereignisprozedur zuweise, muss es doch möglich sein, in dieser Ereignisprozedur eine Instanzvariable einzusetzen? Warum kann ich eine neu initialisierte Variable verwenden, aber nicht eine Instanzvariable? (Ich habe das Problem schon wieder ...)
LG,
3CCD
|
|
|
|
|
|
|
|