# JavaScript Variable in Klasse ändern



## TheCreeper202 (9. Mrz 2014)

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


```
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);
		}
	};
}
```


----------



## Bananabert (13. Mrz 2014)

Hast du dir schonmal während des Hovern ausgeben lassen ob die Variable true ist ?
Ansonsten müsstest du mehr Code posten. Schwierig da zu sagen, wo es hapert.


----------



## TheCreeper202 (16. Mrz 2014)

Wenn ich in _mouse_handler die Variable ausgebe ist sie true.


----------

