Java 如何在libgdx中创建非常简单的暂停/恢复游戏
我是libgdx的新手, 如何在libgdx中创建非常简单的暂停/恢复游戏 我正在尝试使用libgdx实现简单的游戏。我想创建暂停游戏,但不知道如何根据用户输入暂停和恢复游戏。请建议想法以及一些实用代码来实现相同的想法。我正在使用libgdx库中演示的简单游戏代码。多谢各位Java 如何在libgdx中创建非常简单的暂停/恢复游戏,java,libgdx,Java,Libgdx,我是libgdx的新手, 如何在libgdx中创建非常简单的暂停/恢复游戏 我正在尝试使用libgdx实现简单的游戏。我想创建暂停游戏,但不知道如何根据用户输入暂停和恢复游戏。请建议想法以及一些实用代码来实现相同的想法。我正在使用libgdx库中演示的简单游戏代码。多谢各位 public class MyGdxGame extends ApplicationAdapter { SpriteBatch batch; Texture img; float x; flo
public class MyGdxGame extends ApplicationAdapter {
SpriteBatch batch;
Texture img;
float x;
float y;
@Override
public void create () {
batch = new SpriteBatch();
img = new Texture("badlogic.jpg");
}
@Override
public void render () {
Gdx.gl.glClearColor(1, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
x= x+4;
if(Gdx.input.isKeyPressed(Input.Keys.P)){
// pause
}
batch.begin();
batch.draw(img, x, y);
batch.end();
}
@Override
public void dispose () {
batch.dispose();
img.dispose();
}
}
按p键按游戏
if(Gdx.input.isKeyPressed(Input.Keys.P)){
// if(game.pause()){
game.resume();
}else{
game.pause();
}
}
有什么想法吗???谢谢您的渲染方法称为repeatable,“暂停”的含义由您决定。您必须实现处理“暂停”状态的逻辑,因为这对libGDX没有任何意义 若你们想在游戏暂停但仍要绘制的时候冻结一切,最好的方法是(IMHO)将绘制和计算(动作和内容)完全分开。因此,当调用渲染方法时,您将调用绘图方法一次(以绘制图形),但您也将计算应调用计算方法的次数(以独立于帧速率的相同游戏速度),并调用多次 然后,当游戏暂停时,您将跳过调用计算方法,而只调用绘图方法。因此,任何东西都不会移动,直到暂停结束,才会绘制相同的图形 为了保持暂停状态,可以使用一些布尔变量。每次按下p键时,应将其反转,如:
if(Gdx.input.isKeyPressed(Input.Keys.P)){
paused = !paused;
}
或者其他什么(如@Tenfour04所建议的)。保留一个
布尔值成员变量ispused
,并在按p键的基础上进行切换。如果(!isPaused)
,请将游戏更新代码包装在中。