【发布时间】:2015-01-13 05:05:59
【问题描述】:
我正在编写一个脚本,只要他们在物品/怪物/熔岩的范围内,就会导致玩家 HP 每隔一段时间减少。我的检测很好,但我似乎无法获得运行间隔。我知道这可能是因为我在渲染时创建了一个新的 TimerTask,但我似乎无法弄清楚。
for(Monster monster : monsters) {
renderer.processEntity(monster);
if(player.withinDistance(10, monster.getPosition()))
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
System.out.println("tick");
Player.PLAYER_HEALTH -= 10;
}
}, 2000, 2000);
}
所以对于所有怪物,它会检查位置,如果你靠近它会打开一个计时器任务,当条件为真时,它应该每 2 秒计时一次。我怎样才能使它正常工作?计时器任务是否最适合这种情况?
【问题讨论】:
标签: java timer task render lwjgl