如何实现LibGdx对话框,以便我可以根据单击的按钮执行代码

时间:2018-09-12 17:33:41

标签: android libgdx

我有此代码:

if (weapon == null) {
   fightUnarmed(c);
} else if (weapon != null) {
   showFightDialog();
   resolveFight(c);
}

我想为用户提供选择使用武器进行战斗还是不使用武器进行战斗。当我运行此代码时,对话框甚至都没有显示,程序继续到下一行(resolveFight方法,其中包括用于武装和近身搏斗的代码)并退出,并出现错误,因为战斗方式为没有选择。

当我注释掉resolveFight方法时,将显示该对话框。

public void showFightDialog(){

        Skin skin = new Skin(Gdx.files.internal("assets/Skins/uiskin.json"));
        new Dialog("Fight!", skin){
            {
                text("Fight!");
                button("weapon", "weapon");
                button("h2h", "h2h");
            }
            @Override
            protected void result(Object object){
                 if(object.equals("weapon")) {
                    fightWithWeapon = true;
                }else if(object.equals("h2h")) {
                    fightH2H = true;
                }
            }
        }.show(mainStage);
    }

我想在对话框弹出时暂停程序,然后根据用户的选择执行代码。我该怎么办?

0 个答案:

没有答案