[GELÖST] TTimer + Schleifen ohne Abbruchbedingung

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

tOmzone

Betreff: [GELÖST] TTimer + Schleifen ohne Abbruchbedingung

BeitragMi, Sep 28, 2011 15:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo liebe Community,

könnte mir jemand sagen, warum in den folgenden 2 Codeteilen die Ticks()-Methode von einem TTimer-Objekt einmal dauerhaft 0 und einmal korrekte Werte zurückliefert?

Code 1:

BlitzMax: [AUSKLAPPEN]
Graphics(640, 480)

timer:TTimer = TTimer.Create(2)

Repeat
Cls
DrawText(timer.Ticks(), 0, 0)
Flip
Forever

Ticks() gibt hier dauerhaft 0 zurück!


Code 2:

BlitzMax: [AUSKLAPPEN]
Graphics(640, 480)

timer:TTimer = TTimer.Create(2)

Repeat
Cls
DrawText(timer.Ticks(), 0, 0)
Flip
Until KeyDown(KEY_ESCAPE)

Hier zählt Ticks() ordnungsgemäß hoch.

Daraus ergibt sich mir die Frage: Warum gibt die Ticks()-Methode in Schleifen ohne Abbruchbedingung permanent 0 zurück?

Wäre toll, wenn jemand die Antwort dazu kennen würde Smile


Gruß
  • Zuletzt bearbeitet von tOmzone am Do, Sep 29, 2011 11:08, insgesamt 2-mal bearbeitet

Xeres

Moderator

BeitragMi, Sep 28, 2011 16:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte was mit dem Update im Eventsystem zu tun haben - es funktioniert, sobald man ein Keyhit oder Waittimer in der Schleife stehen hat.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Thunder

BeitragMi, Sep 28, 2011 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, Xeres hat absolut recht. Habe jetzt nachgeschaut, weil mich das interessiert hat.

Keyhit, Keydown, AppTerminate ... machen alle standardmäßig einen Pollsystem-Aufruf:

BlitzMax: [AUSKLAPPEN]
' aus brl.polledinput
Function KeyHit( key )
If autoPoll PollSystem ' autoPoll ist im Modul als True definiert
Local n=keyHits[key]
keyHits[key]=0
Return n
End Function


Wenn du einen PollSystem-Aufruf in deine Schleife integrierst, sollte es funktionieren.
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

tOmzone

BeitragDo, Sep 29, 2011 11:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Jap, ihr beiden habt Recht. Mit Pollsystem bzw. Funktionen die selbiges aufrufen funktioniert es.

Damit ist das Problem ja gelöst.

Vielen Dank.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group