Pop-up'ları oluşturmak için oyunumda Scene2d iletişim kutusunu kullanıyorum. Sorular olmalılar ve oyuncu onlara cevap vermek zorunda. Oyuncu soruyu cevapladıktan sonra, geri bildirim vermek için başka bir pop-up yaratması gerekiyordu. Yanıtlama kısmı doğru cevabı belirlerken doğru şekilde çalışıyor. Ancak geri bildirim butonunu doğru şekilde oluşturamıyorum. Şu anda oyuncu bir soru sorulur. Sonra cevaplar ve hiçbir şey. Başka bir soru sorulduğunda geri bildirim bir sonraki sorunun üzerine çıkıyor. TLDR: Soru -> cevap -> bir döngüde geribildirim, aradığım şey. kodun çoğu Scene2D iletişim kutusunda 2 iletişim kutusu açma 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());
sadece kullanılacak dil paketini kontrol etmektir: Burada düzgün çalışmadığı bölümü için kod. DialogOma.wasTheCorrectAnswer, Player.rightAnswer yanıtlandıktan sonra hangi pop-up ekranın kullanılacağını belirlemek için kullanılır. Player.hasAnswered ve DialogOma.wasClicked ifadesinin dışındaki cevabı işlemek için kullanıyorum. Googling tarafından henüz bir şey bulunamadı. Gerçekten burada erkek erkeğe :)
DÜZENLEMEYİ yardım takdir ederim: Burada iletişim sonucu yönteminde olur:
if(object.equals("correct")) {
ChangeScreens.gameIsOn = true;
wasTheAnswerCorrect = true;
wasClicked = true;
}
else{
ChangeScreens.gameIsOn = true;
wasTheAnswerCorrect = false;
wasClicked = true;
}
}