G
GuestG
Gast
Hi,
ich hatte und hab gerade ein sehr komisches Problem mit meinen GameLoop.
Problem war, dass mein Spiel nicht ausgeführt wurde (die schleife nicht lief). Erst nachdem ich zwischen while(!terminated) und if(running) noch einen Befehl (System.out.println()) eingefügt hatte ging es. Aber woran es lag konnte ich nicht sagen.
Das selbe Problem tritt momentan noch auf wenn ich das if in ein while ändere.
Wird da irgendwie was zu schnell abgetestet? so wirklich verstehe ich das Problem nicht.
while(!terminated) läuft ja ständig und bei jeden Durchlauf testet er ja ab ob running == true ist.
mfg
ich hatte und hab gerade ein sehr komisches Problem mit meinen GameLoop.
Java:
while(!terminated)
{
if(running)
{
long startTime = System.currentTimeMillis();
update();
long sleeptime = (startTime + 20) - System.currentTimeMillis();
if(sleeptime < 0 )
{
sleeptime = 0;
}
try {gameController.sleep(sleeptime);}
catch (InterruptedException e) {System.out.println("Unterbrechungsfehler");}
}
}
Problem war, dass mein Spiel nicht ausgeführt wurde (die schleife nicht lief). Erst nachdem ich zwischen while(!terminated) und if(running) noch einen Befehl (System.out.println()) eingefügt hatte ging es. Aber woran es lag konnte ich nicht sagen.
Das selbe Problem tritt momentan noch auf wenn ich das if in ein while ändere.
Wird da irgendwie was zu schnell abgetestet? so wirklich verstehe ich das Problem nicht.
while(!terminated) läuft ja ständig und bei jeden Durchlauf testet er ja ab ob running == true ist.
mfg