Java 使用增量时间改善运动

Java 使用增量时间改善运动,java,swing,timer,timedelta,Java,Swing,Timer,Timedelta,我查阅了很多关于如何使用增量时间的帖子,但我弄不明白 我希望我的队友在我每次比赛时都能以恒定的速度移动 因此,我: timer = new Timer(9, this); timer.start(); then the paint method. 我试着在绘制方法开始时执行开始时间,然后在绘制方法结束时执行当前时间。我将如何使它影响计时器的速度或玩家移动的距离。我试着用时间增量乘以x。nHeroX=dx*deltaTIme 我觉得这很简单,我只需要有人直接告诉我该做什么 从系统对象获取系统时间

我查阅了很多关于如何使用增量时间的帖子,但我弄不明白

我希望我的队友在我每次比赛时都能以恒定的速度移动

因此,我:

timer = new Timer(9, this);
timer.start();
then the paint method.
我试着在绘制方法开始时执行开始时间,然后在绘制方法结束时执行当前时间。我将如何使它影响计时器的速度或玩家移动的距离。我试着用时间增量乘以x。nHeroX=dx*deltaTIme

我觉得这很简单,我只需要有人直接告诉我该做什么

  • 从系统对象获取系统时间
  • 在动画中再次获取它。时间差就是减法
  • 去掉JavaScript标记。语言完全不同

  • 传统上,游戏编程依赖于连续循环。 不管怎样,我所意识到的一切

    在这个循环中,您应该将模型更新和图形更新分开。 在你的snipset中,你似乎试图混合这两种东西

    在此循环中:
    -第一次,您让模型更新。例如:guy从x移动到x1。
    -在第二次,你必须刷新图形,让家伙在屏幕上有一个新的位置

    男生的速度取决于男生模型(例如:男生类中的常量)。 但另一类人的速度可能会有所不同

    游戏的一般速度取决于主循环中设置的FPS

    你可以在这篇文章中看到一个例子:


    祝你好运

    JavaSript??你确定吗?好的,我把标签拿掉了,我已经拿掉了1和2。你能解释一下使用deltatime的算法吗。