我需要一种在设定的时间在一个关卡中生成对象的方法。我知道我可以通过检查时间变量来使用If语句执行此操作,但这个想法很愚蠢,因为它检查ewery更新,如果它是正确的时间,这将使我的游戏更慢。还有另外一种方法吗?我用Java编程。抱歉英语不好。
答案 0 :(得分:2)
您想要使用Java的Timer类http://docs.oracle.com/javase/6/docs/api/java/util/Timer.html
这是一个简单的例子:
public class Reminder
{
Timer timer;
public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
}
class RemindTask extends TimerTask {
public void run() {
System.out.println("Time's up!");
timer.cancel(); //Terminate the timer thread
}
}
public static void main(String args[]) {
new Reminder(5);
System.out.println("Task scheduled.");
}
}
在您的实例中,您将要将定时器调度方法调用从seconds参数替换为Date变量。您将使用此构造函数:
日程安排(TimerTask任务,日期时间) 计划在指定时间执行指定的任务。
希望这能帮到你!