В методе tick() у вас не может быть int startTime = System.nanoTime(), потому что он будет постоянно обновлять его.
Мне нужно найти прошедшее время в методе tick, чтобы каждые 2 секунды появлялся новый объект.
public void tick() {
long startTime = System.nanoTime();
// wave 1
if (wave == 1) {
float k = System.nanoTime() - startTime;
/* won't work because "startTime" is constantly updating */
if (k >= 2 && k <= 3) {
handler.addObject(new BasicEnemy());
} else if (k >= 4 && k <= 5) {
handler.addObject(new BasicObject());
} else if (k >= 6 && k <= 7) {
handler.addObject(new BasicEnemy());
}
}
// wave 2
if (wave == 2) {
float k = System.nanoTime() - startTime;
/* won't work because "startTime" is constantly updating */
if (k >= 2 && k <= 3) {
handler.addObject(new BasicEnemy());
} else if (k >= 4 && k <= 5) {
handler.addObject(new BasicObject());
} else if (k >= 6 && k <= 7) {
handler.addObject(new BasicEnemy());
}
}
}
}
Выше приведен небольшой фрагмент кода. Как мне найти прошедшее время в методе tick и перезапустить его подсчет для каждого оператора if?
Спасибо за помощь :)