M
Murmeltier
Gast
Hallo Meister der Kunst,
ich habe hier ein Problem das ich alleine wohl nicht lösen kann.
Ich versuchs kurz zu machen.
Aufgabe: Tischfussball Applet:
Problem: unterschiedliche Thread-Geschwindigkeiten
Thread1: repaint, Ball neu berechnen, Kollisionsabfrage alle 25ms
Thread2: animiert die Spieler, Kollisionsabfrage (ja doppelt), da Thread1 zu langsam ist, alle 15ms
Problem: Trifft der Spieler den Ball, stellt Kollision fest, dass der Ball getroffen wird und tut entsprechend dem Ball den Winkel neu sezten(mehr nicht).
Da aber Thread2 schneller ist, kann es sein, dass der Ball mehrmals getroffen wird, und so dass ergebnis verfälscht.
z.B. erst Kollision mit rechter Bande --- Bal bleibt an Ort und Stelle während sich Spieler weiter über ihn bewegt -->
Kollision mit linker Bande, Ball läufft anstatt nach rehcts nach links.
Wenn ich aber zusätzlich nach jeder Spieleranmimation die nächste Position errechen wird die Positin ja doppelt so oft errechnet wie normal --> Ball bewegt sich doppelt so schnell!
Wer hat Erfahrung mit sowas kann mit Tip Ansätze oder Codebesipiele zeigen geben verraten?
Ein Eindruck gibts unter: http://www.abileave2002.de/entwurf/idex.html
Dazu: es sind noch nicht alle Kollisionsabfragen erledigt, also wundert euch nicht wenn vieles noch nicht klappt.
Gerne poste ich auch Codeteile/ den gesamten Code wenns es weiterhilft.
Danke schon mal im voraus!
Täglich grüßt das Murmeltier ; )
ich habe hier ein Problem das ich alleine wohl nicht lösen kann.
Ich versuchs kurz zu machen.
Aufgabe: Tischfussball Applet:
Problem: unterschiedliche Thread-Geschwindigkeiten
Thread1: repaint, Ball neu berechnen, Kollisionsabfrage alle 25ms
Thread2: animiert die Spieler, Kollisionsabfrage (ja doppelt), da Thread1 zu langsam ist, alle 15ms
Problem: Trifft der Spieler den Ball, stellt Kollision fest, dass der Ball getroffen wird und tut entsprechend dem Ball den Winkel neu sezten(mehr nicht).
Da aber Thread2 schneller ist, kann es sein, dass der Ball mehrmals getroffen wird, und so dass ergebnis verfälscht.
z.B. erst Kollision mit rechter Bande --- Bal bleibt an Ort und Stelle während sich Spieler weiter über ihn bewegt -->
Kollision mit linker Bande, Ball läufft anstatt nach rehcts nach links.
Wenn ich aber zusätzlich nach jeder Spieleranmimation die nächste Position errechen wird die Positin ja doppelt so oft errechnet wie normal --> Ball bewegt sich doppelt so schnell!
Wer hat Erfahrung mit sowas kann mit Tip Ansätze oder Codebesipiele zeigen geben verraten?
Ein Eindruck gibts unter: http://www.abileave2002.de/entwurf/idex.html
Dazu: es sind noch nicht alle Kollisionsabfragen erledigt, also wundert euch nicht wenn vieles noch nicht klappt.
Gerne poste ich auch Codeteile/ den gesamten Code wenns es weiterhilft.
Danke schon mal im voraus!
Täglich grüßt das Murmeltier ; )