Ich habe ein Spiel (wie Superspringer, dieses Spiel ist ein Springspiel), das unser Charakter Leben hat. Nach der Kollision mit Feinden verringert sich sein Leben. und ich will nach 1 sek die kollisionen berechnen. Ich meine in dieser 1 Sekunde, wenn mein Charakter Kontakt mit Feinden hat, passiert nichts und er setzt seinen Weg fort. Dazu definiere ich eine boolesche Variable in meiner GameScreen-Klasse namens "collision" und eine andere in der Klasse "World" namens "collBirds". nach einem Kontakt mit feindlichen Kollision und collBirds ändern sich zu wahr. aber ich will nach 1 sek kollision wechseln zu false. Ich benutze verschiedene Dinge wie System.currentTimeMillis () und "for loop", und nichts passiert. Ich bin nicht so gut in Java.
das ist meine Bedingung:
%Vor%Wenn Sie dies in demselben Thread tun möchten, können Sie Thread.sleep () verwenden. Aber in diesem Fall wird dein aktueller Thread einfrieren und wenn dies ein Single-Thread-Spiel ist, wird dein gesamtes Spiel einfrieren. Wenn du nicht möchtest, dass dein Spiel für 1 Sekunde einfriert, solltest du den Thread spawnen und in diesem Thread den Schlaf und nach dem Schlaf aufrufen, ändere das Flag