我在使用LibGDX时遇到了问题。
我在GitHub上遵循了他们的指南,然后我继续修改游戏。(参考: https://github.com/libgdx/libgdx/wiki/A-simple-game(
我想在屏幕上创建一个游戏,当水滴接触地面 3 次时。 当它第三次接触地面时,我将 lost 设置为 true,并在 render(( 方法开始时检查 lost 是否为真。
这是连续的:
if(lost){
bucket.dispose();
lostSound.play();
sprite.setProjectionMatrix(camera.combined);
Gdx.gl.glClearColor(0,0,0,0);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
drop.dispose();
font.setColor(Color.WHITE);
GlyphLayout layout = new GlyphLayout(font, "Game Over!");
int fontX = 800 + 64 / 2;
int fontY = 480 / 2;
sprite.begin();
font.draw(sprite, layout, fontX, fontY);
sprite.end();
return;
}
LostSound有点错误,它重复了无限的开始,我得到一个黑屏,没有任何游戏结束文本。
编辑:如果我通过命令行运行,我不会得到任何异常
如果我没有错,你进入的每个循环都是lost
状态,所以声音在每个循环中播放,添加一个标志,如gameover=true
,不要再次进入主循环。 另外,您的游戏分辨率是多少?如果你想要 864 的一半(如果是最大分辨率(,X 的中心,你必须做fontX= (800+64)/2
(432( 而不是fontX= 800+64 /2
(832(
希望对你有帮助