将标题设置为FPS libgdx java

3

我曾经在libgdx项目中看到过这样的做法,所以我知道这是可能的。我想把游戏的FPS显示为应用程序的标题。但似乎我无法做到这一点,因为我的游戏标题总是静态的。它总是显示0。任何帮助都将不胜感激。

2个回答

4
使用位图字体来显示你的帧率。
BitmapFont font;


@Override
public void create() {
    font = new BitmapFont();
    batch = new SpriteBatch();
}

@Override
public void render() {
    //OpenGL settings
    Gdx.gl.glClearColor(0, 0, 0, 1);
    Gdx.gl.glClear(GL30.GL_COLOR_BUFFER_BIT);

    batch.begin();
    Gdx.graphics.setTitle(""+Gdx.graphics.getFramesPerSecond());
    batch.end();
}

如果有任何问题,请留言!祝您愉快 :) 更新

3
我想你可以在你的渲染/控制器方法中添加类似以下的内容:
Gdx.graphics.setTitle("你的帧率");

我猜你可以指定“你的FPS”,这样它就会实际显示FPS。 - Pinkie Swirl
问题是关于“如何显示FPS”,而不是“如何计算”。然而,您可以使用内置函数Gdx.graphics.getFramesPerSecond()。 - nzaroma
我知道(我没有问这个问题),但是你的回答并没有解决问题。因为正如你所说,libgdx提供了一个方法,如果你能在那里添加它,否则只能将另一个静态字符串设置为标题。 - Pinkie Swirl
我会将此设置为正确答案,但请大家听好。为了实现我想要的效果,请按照以下步骤操作,但是在参数中不要放字符串,而是放置 Gdx.graphics.getFramesPerSecond() + ""。 - Temo
3
@Temo 可能默认你知道如何将int转换成String,这就是为什么nzaroma在他的参数中只是发布了一个一般性的String。"更正确"的方法是使用 String.valueof(Gdx.graphics.getFramesPerSecond()),不过结果与你所做的基本相同。 - DoubleDouble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接