Hallo liebe Java-Forum Nutzer,
ich habe eine kleine Notifikation für mein Spiel programmiert und möchte jetzt den Maus Klick darauf abfragen also nur einmal und dann soll ein boolean geändert werden.
Für den Input der Maus arbeite ich mit dem InputProcessor von LibGDX.
Hier der InputProcessor Code:
Hier der Notification Code:
Meine Frage: wenn ich nun einmal kurz auf die Notfication klicke wird das Event mehrere mahle ausgeführt wie bekomme ich es hin das der Maus klick nur einmal erkannt wird?
ich habe eine kleine Notifikation für mein Spiel programmiert und möchte jetzt den Maus Klick darauf abfragen also nur einmal und dann soll ein boolean geändert werden.
Für den Input der Maus arbeite ich mit dem InputProcessor von LibGDX.
Hier der InputProcessor Code:
Code:
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
switch(button) {
case Buttons.LEFT:
mouseClickedLeft = (!mouseClickedLeft ? true : false);
break;
case Buttons.RIGHT:
mouseClickedRight = (!mouseClickedRight ? true : false);
break;
default:
break;
}
return false;
}
Hier der Notification Code:
Code:
public boolean checkClick() {
Vector2 mouse = Tools.getMouseHUDInput();
if((mouse.x > recSprite.getX() && mouse.x < (recSprite.getX() + recSprite.getWidth())) && (mouse.y > recSprite.getY() && mouse.y < (recSprite.getY() + recSprite.getHeight())) && GameInputs.instance.isMouseClickedLeft()) {
return true;
} else {
return false;
}
}
public void update(float deltatime) {
timer += deltatime;
if(checkClick()) {
if(GameScreen.renderText) {
GameScreen.renderText = false;
} else {
GameScreen.renderText = true;
}
}
if(timer >= (moveAnim.getDuration() + fadeAnim.getLifeTime() + rotAnim.getDuration() + rotAnim2.getDuration() + rotAnim3.getDuration() + rotAnim4.getDuration())) {
remove = true;
}
}
Meine Frage: wenn ich nun einmal kurz auf die Notfication klicke wird das Event mehrere mahle ausgeführt wie bekomme ich es hin das der Maus klick nur einmal erkannt wird?