2d游戏-在动画游戏中处理增量时间是安全的,尤其是使用libgdx引擎

2d游戏-在动画游戏中处理增量时间是安全的,尤其是使用libgdx引擎,libgdx,2d-games,Libgdx,2d Games,我是游戏开发新手 在2d游戏中,我对所有帧使用最终的增量时间,并测量速度等等 我想知道当我使用最终增量时间而不是按引擎增量时间计算的使用时,是否会出现问题 以及在何处使用最终增量以及在何处使用计数的增量 喜欢game.java中的游戏 class game extends com.badlogic.gdx.Game { final float delta = 1 / 60F; @Override public void create() { } @

我是游戏开发新手

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

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

以及在何处使用最终增量以及在何处使用计数的增量

喜欢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)
    }
}

谢谢:)

为什么不直接使用Gdx.Graphics.getDeltaTime()?这个值大约是60,但我经常看到它在59到61之间


这只是一个评论,对不起

在LibGDX中,默认帧速率为60

只要运行应用程序的设备能够跟上这个速度,1/60的最终增量就会正确,因为这大约等于Gdx.Graphics.getDeltaTime()。然而,如果你改变帧速率,或者设备无法跟上60的帧速率,你会有奇怪的行为

假设它只能以每秒30帧的速度运行,那么您的移动速度将仅为预期距离的30/60。因此,应用程序的速度将降低到一半。除非这是你的意图,否则这将是一个问题


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

Safe?它不会引起撞车。但是你会有口吃和不一致的游戏速度,这取决于设备上后台运行的内容,尤其是设备与设备之间的运行。但是,对于精确且可重复的物理模拟,您确实希望在使用帧时间进行绘制的同时,在物理模拟中使用恒定的增量。这涉及到插值物理帧以获得平滑动画。Google“fix your timestep”。谢谢@Tenfour04这很有帮助:)也是一个有用的答案。我会尝试更新我的项目以使用它,因为@Tenfour04说固定增量时间将使我的游戏速度取决于设备速度