2d游戏 - 在动画游戏中处理delta时间是安全的,特别是使用libgdx引擎

时间:2018-04-10 07:46:06

标签: libgdx 2d-games

我是游戏开发新手

在2d游戏中,我使用所有帧的最终增量时间和测量速度等等;

我想知道当我使用最终增量时间而不是使用引擎数增量时间时是否会出现问题

以及在哪里使用最终的delta以及在哪里使用计算的

喜欢 game.java

中的游戏
class game extends com.badlogic.gdx.Game {

    final float delta = 1 / 60F;

    @Override
    public void create() {
    }


    @Override
    public void render() {
        if (screen != null) screen.render(delta);
        /////////// do stuff Depended on final delta
        player.translate(150, delta)
    }
}

谢谢:)

2 个答案:

答案 0 :(得分:2)

为什么不使用Gdx.Graphics.getDeltaTime()?该值约为60,但我经常看到它的范围从59到61.

将此作为评论,抱歉。

答案 1 :(得分:0)

在LibGDX中,默认帧速率为60。

只要运行应用程序的设备能够跟上这一点,最终的1/60增量就会显示正确,因为它大约等于Gdx.Graphics.getDeltaTime()。但是,如果您要么更改帧速率,要么设备无法跟上60的帧速率,您将会遇到奇怪的行为。

让我们说它只能以每秒30帧的速度运行,那么你的运动只会达到预期距离的30/60。所以你的应用程序将减速到一半速度。除非那是你的意图,否则这将是一个问题。

如果您希望在较慢的设备上进行预期的移动,通常可以使用@Ezra建议的Gdx.Graphics.getDeltaTime()。