Hi Leute,
ich brauch für ein Spiel einen Timer der meine RundenZeit runterzählt.
ich hab jetzt mal bisschen recherchiert und ein beispiel mit timertask und timer gefunden. hab das dann mit dem singleton pattern versehen
das funktioniert so auch ... mein Problem ist jetzt nur dass wenn ich den Timer laufen lasse mein spiel dann nach 180sec gestoppt wird. das spiel selber soll laufen bleiben nur der timer soll dann bei 0 enden.
jemand ne idee was ich ändern muss?
den Timer Ruf ich so auf:
ich brauch für ein Spiel einen Timer der meine RundenZeit runterzählt.
ich hab jetzt mal bisschen recherchiert und ein beispiel mit timertask und timer gefunden. hab das dann mit dem singleton pattern versehen
Java:
public class RoundTimer {
private static RoundTimer instance;
private Timer timer;
private TimerTask task;
private int count = 180;
private RoundTimer() {
timer = new Timer();
}
// Singleton Pattern
public static RoundTimer getInstance() {
if (instance == null) {
instance = new RoundTimer();
}
return instance;
}
public void startTimer(){
task = new TimerTask() {
@Override
public void run() {
System.out.println(count);
if (count > 0)
count--;
if (count == 0)
System.exit(0);
}
};
timer.schedule(task, 0, 1000);
}
public int getTime(){
return count;
}
}
das funktioniert so auch ... mein Problem ist jetzt nur dass wenn ich den Timer laufen lasse mein spiel dann nach 180sec gestoppt wird. das spiel selber soll laufen bleiben nur der timer soll dann bei 0 enden.
jemand ne idee was ich ändern muss?
den Timer Ruf ich so auf:
Java:
RoundTimer test = RoundTimer.getInstance();
test.startTimer();
System.out.println(test.getTime());