Falls DFYX vom richtigen Standpunkt ausgeht, nämlich, dass der erste Codeschnipsel nicht wiederholt wird, dann kommt natürlich das Problem auf, dass im Ablauf von folgendem Code:
500 Millisekunden vorbei gehen müssen, sonst wird GameMode nie auf 2 gesetzt.
Zitat von ~Cloud~
Thread.sleep hab ich auch als erstes benutzt. Aber er hat dann immer erst den schwarzen Bildschirm gemalt und danach erst gewartet obwohl Thread-sleep VOR dem g.drawImage kam.
...
Sollte eigentlich klappen, wie du jetzt plötzlich auf g.drawImage kommst, ist nicht ersichtlich. Aber
oder so ähnlich sollte klappen. (Und sonst gibt es immernoch die Warte-Methode die man als erstes lernt: while(System.currentTimeMillis() >= waitingStartTime + 500){})
Und falls der erste Code trotzdem mehrmals beim if vorbeikommt muss man natürlich darauf achten, dass waitingStartTime nicht jedesmal neu initialisiert wird.