Timer funktioniert nicht?

Dieses Thema Timer funktioniert nicht? im Forum "Allgemeine Java-Themen" wurde erstellt von HiImSkulte, 6. Jan. 2017.

Thema: Timer funktioniert nicht? Hallo, ich habe vor ein Clicker Spiel zu programmieren und will einen Timer einbauen der jede Sekunde etwas...

  1. Hallo,
    ich habe vor ein Clicker Spiel zu programmieren und will einen Timer einbauen der jede Sekunde etwas bestimmtes machen soll. Habe folgenden Code:
    Code (Java):
    Timer timer = new Timer();

        @Override
        public void run() {
            while (running) {
                render();
            }
           
            timer.scheduleAtFixedRate(new TimerTask() {
                 @Override
                 public void run() {
                   coins++;
                 }
                }, 1000, 1000);
        }
     
    Es passiert allerdings nichts. Was habe ich falsch gemacht? :confused:
    Der Code ist in meiner Window-Klasse mit Runnable implementiert.
    In der run()-Methode sollte nun eigentlich der Timer gestartet werden, der, solange das Programm offen ist, jede Sekunde auf die Variable coins eins addieren soll.

    Danke für Rückmeldung!
    MfG Skulte
     
  2. Vielleicht hilft dir das Grundlagen Training weiter --> *Klick*
  3. Code (Java):
    while (running) {
                render();
            }
    sieht nach einer Endlosschleife aus. Vielleicht solltest du in dieser Schleife auch mal schlafen, damit nicht dauerhaft deine CPU arbeiten muss ...
    Dementsprechend könntest du den timer vorher starten ...
     
  4. außerdem: was soll der Timmer denn machen, außer die Variable permanent zu inkrementieren ??
    Erwartest Du eine Ausgabe?

    Gruß Klaus
     
  5. Nur 1 auf die Variable pro Sekunde draufzählen.

    Bei render() werden einfach auf dem JFrame alle Buttons, Strings, etc. ... gezeichnet. Wenn ich das schlafen lasse, passiert ja manchmal bei Knopf drücken etc. nichts mehr, zumindest visuell.
    Wo sollte ich denn den Timer sonst starten?
     
  6. Kostenloses Java-Grundlagen Training im Wert von 39 €
    Schau dir jetzt hier das Tutorial an und starte richtig durch!