Hi, Im Grunde ist es die gleich Frage vom letzten mal, nur in einer anderen Anwendung.
Ich versuche mein Problem diesmal besser zu beschreiben.
Ich habe ein TikTakToe Spiel programmiert. Man spielt gegen eine KI. Hat man seine Zug gewählt, klickt man auf das entsprechende Feld und eine spezifische PlayerMünze wird mit einer Animation aufgedeckt. Nun ist die KI so schnell, dass die Animation der KI-Münze, quasi Zeitgleich mit der PlayerMünze umgedreht wird. Ich hätte gerne, dass erst nach Abschluss der PlayerMünzenAnimation das Programm mit der KI-Funktion weiterläuft.
Natürlich habe sowas wie Thread.sleep, oder eine Schleife mit einem TimeStamp schon ausprobiert. Leider wird in dieser Zeit auch die PlayerMünzenAnimation nicht weiter ausgeführt, sodass sich am Ende immer zwei Münzen, Player und KI, gleichzeitig umdrehen. Blöd.
In diesen Beispiel, wird erst nach verlassen der Schleife in Animation ausgeführt.
Die Logik dahinter verstehe ich überhaupt nicht.
Schon mal danke für die Hilfe.
VG Maik
PS: Warum das mit dem Thread.sleep nicht funktioniert ist mir klar.
Ich versuche mein Problem diesmal besser zu beschreiben.
Ich habe ein TikTakToe Spiel programmiert. Man spielt gegen eine KI. Hat man seine Zug gewählt, klickt man auf das entsprechende Feld und eine spezifische PlayerMünze wird mit einer Animation aufgedeckt. Nun ist die KI so schnell, dass die Animation der KI-Münze, quasi Zeitgleich mit der PlayerMünze umgedreht wird. Ich hätte gerne, dass erst nach Abschluss der PlayerMünzenAnimation das Programm mit der KI-Funktion weiterläuft.
Natürlich habe sowas wie Thread.sleep, oder eine Schleife mit einem TimeStamp schon ausprobiert. Leider wird in dieser Zeit auch die PlayerMünzenAnimation nicht weiter ausgeführt, sodass sich am Ende immer zwei Münzen, Player und KI, gleichzeitig umdrehen. Blöd.
In diesen Beispiel, wird erst nach verlassen der Schleife in Animation ausgeführt.
Die Logik dahinter verstehe ich überhaupt nicht.
Java:
imageView.animate().alpha(1).rotationY(360).setDuration(1000);
long timestamp = System.currentTimeMillis()+2000;
while (System.currentTimeMillis() < timestamp){
System.out.println("Bitte warten....");
}
Schon mal danke für die Hilfe.
VG Maik
PS: Warum das mit dem Thread.sleep nicht funktioniert ist mir klar.
Zuletzt bearbeitet: