Hallo liebe Forenmitglieder!
Im folgenden JavaScript bzw. ECMAScript Code habe ich ein Problem mit der Objektorientierung in JavaScript. _mouse_handler und _mouse_handler_2 wird aufgerufen. Dies sehe ich an den Debug-Nachrichten, aber die Variable Selektiert ist immer false. Ich arbeite mit der Java Scripting API, welche Mozilla Rhino nutzt.
Ich bitte um Hilfe.
Danke im Voraus!
TheCreeper202
Im folgenden JavaScript bzw. ECMAScript Code habe ich ein Problem mit der Objektorientierung in JavaScript. _mouse_handler und _mouse_handler_2 wird aufgerufen. Dies sehe ich an den Debug-Nachrichten, aber die Variable Selektiert ist immer false. Ich arbeite mit der Java Scripting API, welche Mozilla Rhino nutzt.
Ich bitte um Hilfe.
Danke im Voraus!
TheCreeper202
Code:
var bild_Button = U2D.Bild("gui/button.png");
var bild_Button_normal = bild_Button.Ausschneiden(0, 0, 512, 128);
var bild_Button_selektiert = bild_Button.Ausschneiden(0, 128, 512, 128);
var bild_Button_deaktiviert = bild_Button.Ausschneiden(0, 256, 512, 128);
function Button(x, y, w, h) {
this.X = x;
this.Y = y;
this.Breite = w;
this.Hoehe = h;
this.Aktiviert = true;
this.Selektiert = false;
this._mouse_handler = function(b1, b2, b3) {
U2D.Debug("hover");
this.Selektiert = true;
};
this._mouse_handler_2 = function(b1, b2, b3) {
U2D.Debug("no hover");
this.Selektiert = false;
};
this.Update = function() {
if (this.Aktiviert) {
U2D.MausInBereich(this.X, this.Y, this.Breite, this.Hoehe, this._mouse_handler);
U2D.MausNichtInBereich(this.X, this.Y, this.Breite, this.Hoehe, this._mouse_handler_2);
U2D.Debug(this.Selektiert);
}
};
this.Render = function() {
if (!this.Aktiviert) {
bild_Button_deaktiviert.Zeichnen(this.X, this.Y, this.Breite, this.Hoehe);
} else if (this.Selektiert) {
bild_Button_selektiert.Zeichnen(this.X, this.Y, this.Breite, this.Hoehe);
} else {
bild_Button_normal.Zeichnen(this.X, this.Y, this.Breite, this.Hoehe);
}
};
}