Hallo,
ich habe ein altes Spiel das ich mal gemacht habe ausgegraben und bin dort auf einen kleinen Schönheitsfehler gestoßen.
Es geht darum, Fragen in einer gewissen Zeit zu beantworten. Der Timer löst ein Event aus, welches dann das Spiel beendet (Zeit vorbei -> Frage nicht rechtzeitig beantwort -> Spiel aus). Es gibt allerdings auch eine Art PAUSE-Funktion im Spiel. Nachdem es beim Timer kein pause() oder so etwas in der Art gibt, hab ich damals einfach beim Beginn der Pause den Timer gestoppt und am Ende wieder neu gestartet. Funktioniert natürlich, allerdings ist das eine Schummelmöglichkeit, denn jedes Mal, wenn das Spiel aus der Pause zurückkehrt, hat man erneut die volle Antwortzeit.
Ich hab mir den Timer in der Doku nochmals genau angesehen, finde aber keine Möglichkeit, ihn zu "pausieren" o.Ä. (glaub auch nicht, dass es geht, aber vl. bin ich einfach zu doof um es zu finden).
Der einzige Workaround der mir einfällt ist bei Start des Timers die Systemzeit zu speichern und es dann mit der zu kontrollieren.
Falls ihr keine besssere Idee habt, werde ich es auch so machen, aber vielleicht sind ja ein paar kreative Köpfe unter euch die eine bessere Lösung wissen? :engel:
Bzw. gibt es eine Art Äquivalent zum javax.swing.Timer, bei dem es die Möglichkeit der Pause gibt?
TIA
java-girl
EDIT1: So jetzt ist mir ca. 2 Sekunden nach Fertigstellung des Posts der Geistesblitz gekommen, einfach eine Subklasse des Timers zu schreiben und eine Pause-Funktion einzufügen. Allerdings muss ich mir dazu noch den Aufbau des Timers ansehen, hoffe dass das möglich ist. Bin trotzdem noch über andere Lösungsvorschläge dankbar!
EDIT2: Wie ich sehe hat mittlerweile noch keiner eine Idee gehabt ;). Habe gestern noch meine realisiert und eine Subklasse von Timer geschrieben. Die Pause funktioniert einwandfrei indem ich mir die Startzeit des Timers merke. Falls noch jemand eine elegantere Lösung hat, lasst es mich bitte wissen!