【发布时间】:2015-07-28 15:44:20
【问题描述】:
我创建了一个 Libgdx 游戏,我想知道是否可以使用 Libgdx 调用覆盖暂停方法生命周期?
这是我班级中的暂停方法生命周期:
public class MyGdxGame extends ApplicationAdapter {
@Override
public void pause() {
super.pause();
chrono.pause();
//Display a pause menu
}
}
而且我想在点击暂停图片时调用生命周期方法:
imagePause = new Image(new Texture(Gdx.files.internal("pause.png")));
imagePause.setSize(pauseSize, pauseSize);
imagePause.setPosition(width - pauseSize, height - pauseSize);
imagePause.addListener(new ClickListener() {
@Override
public void clicked(InputEvent event, float x, float y) {
//Something like this? :
Gdx.app.pause(); //Doesn't exist
//I don't want to call manually the pause method like this
//because it doesn't pause Libgdx lifecycle ...
pause();
}
});
stage.addActor(imagePause);
有什么想法吗?
【问题讨论】:
-
按下暂停按钮后您到底想发生什么?你说你想暂停 libgdx 生命周期。之后你打算如何恢复它?
-
当我按下暂停按钮时,我想暂停 Libgdx 中的所有内容,并且我想显示一个带有播放按钮的暂停菜单。我计划在用户通过单击播放按钮关闭暂停菜单时恢复生命周期。
-
当 libgdx 生命周期完全停止时,您将无法显示任何内容。只需设置一个
paused变量,在您的render()方法中检查它并跳过所有游戏内容以防它被暂停。同时显示您的暂停菜单。 -
是的,我认为你被暂停这个词用作生命周期事件的名称而感到困惑。你不想惹这个。创建你自己的暂停类型来改变渲染循环中发生的事情,就像@noone所说的那样。
标签: java libgdx overriding lifecycle onpause