Спавн объекты в игровом уровне в установленное время
Мне нужен способ порождать объекты на уровне в установленное время. Я знаю, что могу сделать это с помощью операторов If, проверяя переменные времени, но эта идея глупа, потому что она проверяет обновление ewery, если это подходящее время, и это замедлит мою игру. Есть ли другой способ? Я программирую на Java. И извините за плохой английский.
1 ответ
Решение
Вы захотите использовать класс таймера Java, 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 task, Date time) Планирует выполнение указанной задачи в указанное время.
Надеюсь, это поможет вам!