Android Libgdx显示对话框

Android Libgdx显示对话框,android,libgdx,Android,Libgdx,我正在使用libgdx进行一个简单的乒乓球游戏,我试图在按下后退按钮时显示一个对话框。 我的活动实现了Screen、InputProcessor和keyDown方法,到目前为止,我写了以下内容: @Override public boolean keyDown(int keycode) { if (Gdx.input.isKeyPressed(Input.Keys.BACK )) { final Dialog diag = new Dialog("Pause", s

我正在使用libgdx进行一个简单的乒乓球游戏,我试图在按下后退按钮时显示一个对话框。 我的活动实现了Screen、InputProcessor和keyDown方法,到目前为止,我写了以下内容:

 @Override
public boolean keyDown(int keycode) {

    if (Gdx.input.isKeyPressed(Input.Keys.BACK )) {

        final Dialog diag = new Dialog("Pause", skin);

        TextButton Ok = new TextButton("                Ok                ", skin);
        TextButton Annulla = new TextButton("            Annulla           ", skin);



        diag.getButtonTable().add(Ok).row();
        diag.getButtonTable().add(Annulla);

        diag.show(stage);

        stage.addActor(diag);

    }


    return false;
}
在渲染方法中,我有:

@Override
public void render(float delta) {

    Gdx.input.setInputProcessor(stage);
    update(delta);
    draw(delta);

}
updatedelta更新球和桨。 drawdelta在屏幕上绘制分数

我的问题是,对话框从未出现

编辑:


在你的drawdelta方法中有stage.draw吗?是的,还有stage.act编辑:发布我的draw方法你可能应该把stage draw放在该方法的末尾。请在resize方法中加入stage.getViewport.updatewidth、height、true调用,并在create或Show中调用resize一次。我已经完成了您所说的,但仍然没有发生任何事情。我添加了System.out.printltest;EDIT2:我已经将Gdx.input.setInputProcessorstage更改为Gdx.input.setInputProcessorthis,并且它可以工作。不知道为什么。谢谢你的帮助
private void draw(float dt) {
    Gdx.gl.glClearColor(R / 255.0f, G / 255.0f, B / 255.0f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    stage.act();
    stage.draw();

    batch.begin();

    String text = "SCORE 1: " + score1 + " SCORE 2: " + score2;
    font.draw(batch, text, (Gdx.graphics.getWidth() - font.getBounds(text).width )/2, Gdx.graphics.getHeight() - font.getBounds(text).height);

    String text2 = "Velocity: " + Math.sqrt((ball.getVelocityX() * ball.getVelocityX() )+ (ball.getVelocityY() * ball.getVelocityY() ));
    font.draw(batch, text2 , (Gdx.graphics.getWidth() - font.getBounds(text2).width )/2, Gdx.graphics.getHeight() - (font.getBounds(text2).height + font.getBounds(text).height));

    batch.end();

    drawBall(dt);
    drawPaddles(dt);

}