如何让我的游戏速度不降低 up/slow 取决于 java 中的 fps?

How do i make my game not speed up/slow down depending on the fps in java?

所以当我 运行 正在开发一款游戏时,FPS 会上下波动。但是游戏时间也会如此。更多 fps,更快的移动。更少的 fps,更慢的运动。我正在使用具有 10 毫秒延迟和个性化 ActionListener class 的 javax.swing.Timer class。有谁知道如何摆脱这些时间难题?像 Unity 的 Time.deltaTime 这样的东西会很完美,因为我已经习惯了。

在你的 ActionListener class 中记录时间:

class MyActionListener implements ActionListener {
    private long previousStartTime = -1;
    

    @Override
    public void actionPerformed(ActionEvent e) {
        long now = System.currentTimeMillis();
        long elapsedTime = previousStartTime != -1 ? now - previousStartTime : 0;
        previousStartTime = now;
        
        // use elapsedTime
        // e.g.
        double pixelsToMove = speedPerMs * elapsedTime;
    }
}

在第一次迭代中,elapsedTime 将为零。