LibGDX?

... komplette Frage anzeigen

2 Antworten

Die runCountdown bekommt als Parameter delta. Das ist ja die Zeit vom letzten Frame bis zum aktuellen in Sekunden.
Das heißt die Methode addiert diese Bruchteile einer Sekunde zusammen bis sie zB größer als 1 sind. Deswegen ist das auch völlig unabhängig von der Zeit die die Methode gebraucht hat um einmal durchzulaufen, da 1 Sekunde trotzdem eine Sekunde bleibt.
Hier ein einfaches Beispiel:
Angenommen die Methode würde 0,5s für einen Durchlauf brauchen (schlechtes Beispiel) dann wird zwei Mal 0,5 addiert was 1 ergibt.
Wenn ein Frame aber 0,33s braucht dann sind es zwar drei Durchläufe aber es kommt trotzdem eine Sekunde raus.

Hoffe ich konnte dir helfen :D

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von gut4fr5g4
26.10.2016, 20:51

ja danke! :D

0
Kommentar von jaunel
26.10.2016, 20:55

Bitte :D

0

Wie bereits in der anderen Anwendung erwähnt wurde, wird der Countdown Methode ein delta übergeben. Dieses Delta enthält die Zeit seit dem letzten Frame in Sekunden. Es wird dann lediglich dieses Delta (und nicht eine ganze Sekunde) vom Counter abgezogen, damit der Countdown unabhängig von der FPS Zahl ist.

Angezeigt wird dann der int-Wert des Counters (als der abgerundete Counter). Somit werden 9.9 Sekunden als 9 angezeigt.

Die Technik mit dem delta, welche hier verwendet wird, solltest du dir unbedingt merken. Es ist nämlich sehr wichtig, dass deine Logik unabhängig von den FPS läuft. Wenn du z.B. ein Rennspiel entwickelst, sollte dein Auto nicht bei hoher FPS-Zahl schneller fahren als bei niedriger.

LG

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?