Я пытаюсь заставить изображение мерцать с RaffleImage();
, пока я выполняю таймер, мой персонаж невосприимчив к любому столкновению, я хочу, чтобы он был защищен только в течение 2 секунд, поэтому таймер должен выполняться только для 2 секунды, а затем закончите.
Я пытался вычесть System.currentTimeMillis()
, но любая переменная, которую я создаю из этого метода, всегда имеет одно и то же значение, заставляя меня получить ноль от этого вычитания.
Знаете ли вы, как я могу остановить или приостановить таймер после истечения любого времени в секундах?
immuneTimer = new Timer(50, new ActionListener() {
@Override
public synchronized void actionPerformed(ActionEvent e) {
long initMillis = System.currentTimeMillis();
if (System.currentTimeMillis() - initMillis > 2000 ) { // this substract gives me 0
initImages();
setImmune(false); // so this never reached
immuneTimer.stop();
} else {
raffleImage(); //its executing like forever;
}
}
});