Einfaches Pong une Threads

FipsTheThief

Erfahrenes Mitglied
Also ich bin eben dabei zu versuchen ein wenig in die Welt von Java einzusteigen und habe mir mal so ein simples Pong vorgenommen.

Bis jetzt läuft es auch soweit aber ich habe da so ein paar Probleme.

Ich habe 1 Schläger und 1 Ball und beide werden auf eine Grundfläche gezeichnet.

Das Problem dabei ist das der Ball in einen Thread liegt und für 20 Millisekunden immer unterbrochen wird bis dahin läuft es gut. Aber wenn ich nun den Timer ein wenig runterschraube so auf 10 millisekunden kommt der Event welcher den Schläger steuern soll gar nicht mehr hinterher.
Der Ball ist dafür dann schon deutlich schneller unterwegs.

Also habe ich den MouseMotionListener auch in einen Thread gelegt da ich dachte das er dann gesondert behandelt wird , Fehlanzeige leider ich denke das Hauptproblem ist das beide in das selbe Panel zeichnen und es dadurch zu Problemen kommt.

Also kam mir dann spontan die nächste Idee dies mit Synchronisierten Threads zu versuchen. Wenn der Ball eben gezeichnet wird hat der Schläger erstmal Pause usw.

Meine eigentliche Frage wäre kennt da wer eine bessere Lösung oder hat eine andere Idee dies bezüglich ?

Ein paar Anregungen wären hier gerne willkommen ;)
 

engelmarkus

Erfahrenes Mitglied
Also ich hab damit noch nie gearbeitet, aber es gibt sdljava. Damit solltest du das Spiel eigentlich mit ein paar Zeilen Code super zum Laufen kriegen.
Bis jetzt habe ich mit SDL immer nur mit C++ oder VB.Net gearbeitet, aber ich bin mir sicher, das geht mit Java genauso gut.
 

FipsTheThief

Erfahrenes Mitglied
Danke auf jeden Fall für den Tipp , aber ich fürchte damit würde ich es übertreiben ;) Es ist quasi nur zur Übung gedacht um ein wenig in die Programmiersprache reinzukommen und sdljava scheint ja dann doch für Leute zu sein die sich schon nen bissel besser auskennen als ich damit.

Werde es mir auf jeden Fall mal bookmarken und später einmal ansehen aber für das kleine Pong welches danach eh im Mülleimer landet wollte ich es erstmal ne Nummer kleiner angehen ;).