Java 使用增量时间与不使用增量时间

Java 使用增量时间与不使用增量时间,java,libgdx,Java,Libgdx,我已经开始学习libGDX,现在还没有深入学习。在其中一个教程中,我注意到人们使用的是deltatime,这是(如果我理解正确的话)两帧之间的时间,应该在0.016(60 fps)左右。然后我看到一个人说使用deltatime是一种不好的做法,因为很难实现正确的方法 这里有两个关于deltatime 您想什么时候使用它,什么时候使用固定号码 我还认为,在多人网络游戏中使用deltatime是错误的,因为人们可能会得到不同的fps,计算结果将无法按预期进行。这是一个有效的声明还是我错了 在不同FP

我已经开始学习
libGDX
,现在还没有深入学习。在其中一个教程中,我注意到人们使用的是
deltatime
,这是(如果我理解正确的话)两帧之间的时间,应该在0.016(60 fps)左右。然后我看到一个人说使用
deltatime
是一种不好的做法,因为很难实现正确的方法

这里有两个关于
deltatime

  • 您想什么时候使用它,什么时候使用固定号码

  • 我还认为,在多人网络游戏中使用
    deltatime
    是错误的,因为人们可能会得到不同的fps,计算结果将无法按预期进行。这是一个有效的声明还是我错了


  • 在不同FPS或无上限FPS(无vsync)的情况下,您可能仍然希望游戏的不同方面以相同的速度运行。例如,你可能不希望一个玩家以两倍于游戏速度的速度移动,他们获得120 FPS,而一个获得60 FPS的玩家以正常速度移动

    moveSpeed= baseSpeed * delta;
    

    一个人的帧越高,帧之间的延迟越低,这样你就可以将基本速度乘以增量来获得缩放的移动速度。

    在不同的FPS或无上限FPS(无vsync)的情况下,你可能仍然希望游戏的不同方面以相同的速度运行。例如,你可能不希望一个玩家以两倍于游戏速度的速度移动,他们获得120 FPS,而一个获得60 FPS的玩家以正常速度移动

    moveSpeed= baseSpeed * delta;
    

    一个人的身躯越高,帧之间的延迟越低,这样你就可以将基本速度乘以增量来获得缩放的移动速度。

    看看这条评论,Fixed timestep总是比使用deltatime好:阅读以下内容:@TomGrillGames我不认为建议Fixed timestep总是更好对刚开始的人特别有帮助。在这篇文章真正相关之前,您需要相当全面地了解什么是deltaTime,以及何时可能需要使用deltaTime(如下面CConard96所回答的)。不是说它不好,只是可能不适合OP的要求看看这条评论Fixed timestep总是比使用deltatime好:阅读以下内容:@TomGrillGames我不认为建议Fixed timestep总是更好对刚起步的人特别有帮助。在这篇文章真正相关之前,您需要相当全面地了解什么是deltaTime,以及何时可能需要使用deltaTime(如下面CConard96所回答的)。不是说这不好,只是可能不适合OP的要求