Ich benutze den Scene2d Dialog in meinem Spiel um Pop-ups zu erstellen. Sie sollen Fragen sein und der Spieler muss sie beantworten. Nachdem der Spieler die Frage beantwortet hat, soll er ein weiteres Pop-up erstellen, um Feedback zu geben. Der antwortende Teil funktioniert korrekt und identifiziert die richtige Antwort. Ich kann den Feedback-Button jedoch nicht korrekt erstellen. Derzeit wird dem Spieler eine Frage gestellt. Dann antwortet er und nichts. Wenn er eine weitere Frage gestellt bekommt, erscheint die Rückmeldung über die nächste Frage. TLDR: Frage -> Antwort -> Feedback in einer Schleife ist was ich suche. Hier ist der Code für den Teil, der nicht richtig funktioniert:2 Dialoge im Scene2D-Dialog öffnen LibGdx
do{
if(DialogOma.wasClicked) {
if (DialogOma.wasTheAnswerCorrect) {
int ID = friendlyNPCs.get(j).getID();
if(GameScreen.isEnglish) {
diaTest = new DialogOma("Questionjabs", disTestSkin, 1, myBundleEn, ID, "resultoikein", "ok");
}
else{
diaTest = new DialogOma("Vastausmies", disTestSkin, 1, myBundleFi, ID, "resultoikein", "ok");
}
diaTest.getSkin().getFont("default-font").getData().setScale(3f, 3f);
diaTest.show(stage);
DialogOma.wasTheAnswerCorrect = false;
Player.rightAnswer = true;
DialogOma.wasClicked = false;
Player.hasAnswered = true;
}
else if (!DialogOma.wasTheAnswerCorrect) {
int ID = friendlyNPCs.get(j).getID();
if(GameScreen.isEnglish){
diaTest = new DialogOma("Vastausmies", disTestSkin, 1, myBundleEn, ID, "resultvaarin", "ok");
}
else{
diaTest = new DialogOma("Vastausmies", disTestSkin, 1, myBundleFi, ID, "resultvaarin", "ok");
}
diaTest.getSkin().getFont("default-font").getData().setScale(3f, 3f);
diaTest.show(stage);
DialogOma.wasTheAnswerCorrect = false;
Player.rightAnswer = false;
DialogOma.wasClicked = false;
Player.hasAnswered=true;
}
}
}while(!Player.hasAnswered&&!diaTest.isVisible());
Die meisten Code ist nur das Sprachpaket zu prüfen, verwendet werden. DialogOma.wasTheCorrectAnswer wird verwendet, um zu bestimmen, welcher Popup-Bildschirm nach der Beantwortung verwendet werden soll. Player.rightAnswer wird verwendet, um die Antwort außerhalb des Dialogs Player.hasAnswered und DialogOma.wasClicked zu beantworten. Hab noch nichts gefunden, indem du es gegoogelt hast. Wäre wirklich schätzen
EDIT :) hier Jungs helfen: Hier ist, was im Ergebnis Methode des Dialogs geschieht:
if(object.equals("correct")) {
ChangeScreens.gameIsOn = true;
wasTheAnswerCorrect = true;
wasClicked = true;
}
else{
ChangeScreens.gameIsOn = true;
wasTheAnswerCorrect = false;
wasClicked = true;
}
}