Problem mit einer Spielschleife

Pitchblack

Mitglied
Hallo,

ich habe eine Spielschleife mit den Methoden screenUpdate() und gameUpdate()
Die erste ist für das Rendern zuständig, die zweite für die Bewegung einer Spielfigur. Das dort ein Thread eingebaut ist, versteht sich von selbst.

Jetzt würde ich gerne, beim Klick auf einen Button ein JFrame erzeugen und es für 30 Sekunden im Vordergrund darstellen. Die Erzeugung klappt soweit. Das Problem ist nur, dass das Fenster immer wieder überzeichnet wird, da die Spielschleife wieder die screenUpdate() Methode aufruft und alles neu rendert. Meine Idee war jetzt Thread.sleep() aufzurufen um das rendern anzuhalten aber das JFrame wird nicht nun garnicht angezeigt.

Hat jemand eine Idee oder einen anderen Lösungsweg?
 
Moin,

ich würde Dir raten dass Du den Frame in einen neuen Thread auslagerst.
Dann kommen sich die beiden Dinge nicht mehr in die Quere.
 
Probier doch mal als letzte Funktion in der screenUpdate() Methode(wo du renderst) ds Fenster immer in den Vordergrund zu setzten und dann neuzuzeichen.
Bsp:
Code:
public void screenUpdate(Graphics g)
{
    ...
    ...
    ...
    frame.update(g);
    frame.toFront();

}
Mfg bigboombang
 
@Xandro:
Inwiefern soll ich denn den Frame auslagern? Ich begreife nicht ganz was du damit bezwecken willst oder ich verstehe dich gerade ganz falsch.
Könntest du das vielleicht genauer erklären?
 
Zurück