目前我的项目没有时间安排并且令人满意,但如果我有时间安排会更加清洁。在我宣布需要的任何东西后,我想拥有它,我可以做类似的事情:
if (timer == 2000) {
System.out.println("2 seconds have passed since "timer" was declared!");
}
我还没有看到那么多。对不起,如果我错过了什么。我只是在寻找最佳方法。
修改
我被问到有关为什么我需要这个的更多细节...顺便说一下这是一个僵尸游戏
while(!Display.isCloseRequested()){
if (whatever == 2 seconds){ //I obviously know a don't right the word seconds next the number 2
for(int z = 0; z < 2; z++){
SpawnaZombieAt(leftcorner,20,speed);
}
}
}
如果我不够清楚我正试图启动某种计时器。然后每2秒钟左右会产生2个僵尸
答案 0 :(得分:2)
您在寻找System.currentTimeMillis()
还是System.nanoTime()
?第一个是与UTC相对应的低精度计数器,而后者是一个高精度计时器,可用于确定经过的时间。
答案 1 :(得分:1)
如果您想在特定延迟后启动特定操作,可以使用ScheduledExecutorService
- 例如:
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
scheduler.schedule(new Runnable() {
public void run() {
System.out.println("2 seconds have passed since this action was scheduled!");
}
}, 2, TimeUnit.SECONDS);
它将在2秒后打印你的句子。
如果您正在使用秒表,请回答this question propose several alternatives。
编辑
在您进行修改后,ScheduledExecutorService
有一个scheduleAtFixedRate
method,可让您每2秒运行一次特定操作。