在设定的时间在游戏关卡中生成对象
Spawn objects in a game level at set time
我需要一种在设定时间在关卡中生成对象的方法。我知道我可以通过检查时间变量使用 If 语句来做到这一点,但这个想法很愚蠢,因为它会检查 ewery 更新是否是正确的时间,这会使我的游戏变慢。还有别的办法吗?我正在 Java 编程。抱歉英语不好。
您需要使用 Java 的计时器 class、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.");
}
}
在您的实例中,您需要将计时器计划方法调用从秒参数替换为 Date 变量。您将使用此构造函数:
schedule(TimerTask 任务,日期时间)
安排指定任务在指定时间执行。
希望对您有所帮助!
我需要一种在设定时间在关卡中生成对象的方法。我知道我可以通过检查时间变量使用 If 语句来做到这一点,但这个想法很愚蠢,因为它会检查 ewery 更新是否是正确的时间,这会使我的游戏变慢。还有别的办法吗?我正在 Java 编程。抱歉英语不好。
您需要使用 Java 的计时器 class、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.");
}
}
在您的实例中,您需要将计时器计划方法调用从秒参数替换为 Date 变量。您将使用此构造函数:
schedule(TimerTask 任务,日期时间) 安排指定任务在指定时间执行。
希望对您有所帮助!