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日

    悬赏问题

    • ¥15 sqlserver执行存储过程报错
    • ¥100 nuxt、uniapp、ruoyi-vue 相关发布问题
    • ¥15 浮窗和全屏应用同时存在,全屏应用输入法无法弹出
    • ¥100 matlab2009 32位一直初始化
    • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
    • ¥15 为什么在iis上部署网站,服务器可以访问,但是本地电脑访问不了
    • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
    • ¥15 ADS时域 连续相位观察方法
    • ¥15 Opencv配置出错
    • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。