haslflafjl 2022-06-10 08:55 采纳率: 80%
浏览 20
已结题

java游戏更新和刷新率问题

我在Main类里创建了一个新的thread,新的thread对象使用主类implements的Runnable
程序一运行就会自动执行run()的方法。

我的疑问是这组代码是怎么实现控制游戏每秒画面刷新次数,它具体说了什么?

@Override
    public void run() {
        double drawInterval=1000000000/FPS; //FPS设置为60
        double delta=0;
        long lastTime=System.nanoTime();
        long currentTime;

        while(gamethread!=null) {
            currentTime=System.nanoTime();
            delta+=(currentTime-lastTime)/drawInterval;

            lastTime=currentTime;
            if(delta>=1) {
                update();//更新游戏人物和物品的位置等
                repaint();//重绘
                delta--;
            }

        }
    }
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月18日
    • 修改了问题 6月10日
    • 创建了问题 6月10日