Java减慢循环而不减慢程序的其余部分

Bry*_*ahn 2 java for-loop slowdown

我正在创建一个视频游戏,我有一个可以恢复健康的for循环

public void recoverHealth() {
    if (curHealth < finalHealth) {
        for (double i = 0; i < finalHealth; i = i + 0.1) {
            curHealth = curHealth + 0.1;
            System.out.println("health: " + curHealth);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但问题是java经历了这么快,它在游戏开始前从0到20.如何在不降低整个游戏速度的情况下减慢recoverHealth()方法,如Thread.sleep不起作用..

try {
    Thread.sleep(1000);
} catch (Exception e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

mer*_*011 5

放入recoverHealth一个单独的线程,并Thread.sleep()按照您的描述使用.