[英]Java Swing Applet: How to slow or delay paint() without slowing down the entire program
[英]Java slow down for loop without slowing down rest of program
我正在創建一個視頻游戲,我有一個可以恢復健康的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);
}
}
}
但問題是java經歷了這么快,它在游戲開始前從0到20。 如何在不降低整個游戲速度的情況下減慢recoverHealth()方法,如Thread.sleep不起作用..
try {
Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
有任何想法嗎?
將recoverHealth
放入一個單獨的線程中,並按照您的描述使用Thread.sleep()
。
將其添加到您可以訪問curHealth的游戲程序中。
timer = new Timer();
timer.schedule(new TimerTask (){
public void run() {
curHealth = curHealth + 0.1;
}
}, 1000);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.