LIBGDX - 对话框关闭问题

问题描述 投票:0回答:1

我有 DialogActor,它扩展了 LIBGDX 对话框类。当我启动一个实例时,它会按预期显示对话框,并提供“恢复”、“Top5”和“退出”按钮的正确功能。当我选择“Top 5”时,会正确创建另一个 LIBGDX 对话框对象。但是,当我退出该对象时,我看到第一个对话框对象(如预期),但无法选择“恢复”或“退出”。我猜按钮点击已经被消耗掉了。我该如何解决这个问题?

public DialogActor(String pTitle, Skin pSkin){
    super(pTitle, pSkin);

    button("Resume", "Resume");
    button("Top 5", "Top 5");
    button("Quit", "Quit");

}

@Override
protected void result(final Object object){
    if (object == "Resume") {
        remove();
    } else if (object == "Top 5"){
        Top5Dialog top5Dialog = new Top5Dialog("", skin);
        top5Dialog.show(stage);
    } else if (object == "Quit"){
        int pid = android.os.Process.myPid();
        android.os.Process.killProcess(pid);
        System.exit(0);
    }
}
java libgdx dialog
1个回答
1
投票

默认情况下,单击按钮后第一个对话框将隐藏,除非您调用

com.badlogic.gdx.scenes.scene2d.ui.Dialog#cancel
。不确定你是否在这里这样做。

在您的情况下,对话框仍然存在,但不再做出反应。我的猜测是

hide
已被触发,我认为这会删除听众。也许您没有在渲染循环中调用
stage.act()
,这可能会导致对话框未完成其淡出动画并且仍然显示可见。

© www.soinside.com 2019 - 2024. All rights reserved.