Kollision bei Wänden

Trunk

Mitglied
Hallo!

In meinem kleinen Spiel habe ich folgende Situation: ( ich hoffe man erkennt etwas )



Der Spieler kollidiert mit einem Baumstamm, und da soll die Figur natürlich stehen bleiben bzw man soll eben nicht durch den Baum hindurchlaufen können. Nur einfach dx und dy auf 0 setzen klappt natürlich nicht, ich hab mir schon überlegt die Figur einfach in minimaler Entfernung zum Objekt jedes mal zu platzieren, nur wie?

Wie bewege ich überhaupt Objekte in Relation zu anderen? Ich hoffe ihr wisst, was ich meine ???:L
 
F

Firephoenix

Gast
Hi,
das ist natürlich abhängig davon wie du den Spieler bewegst und wie die Welt aufgebaut ist.
Ausgehend davon, dass du irgendwie auf input reagierst (z.B. solange "W" gedrückt ist steht ein boolean "forward" auf true).
Dann muss das Programm bei jedem Update (update muss nicht gleich repaint bedeuten) erst prüfen ob forward gesetzt ist, falls ja wird die neue Position des Spielers ermittelt, falls die frei ist wird der Spieler entsprechend bewegt. Ist sie belegt passiert nichts.
Entsprechende Methoden wie man 2D-Kollisionen berechnet sollten sich in der Forensuche oder google ganz gut finden lassen.
Gruß
 

wessi86

Mitglied
Du erstellst dir eine Matrix entsprechend der Fenstergröße und lässt nach dieser Matrix das Spielfeld zeichnen. Dann kannst du noch einen Spieler entsprechend seiner Größe in die Matrix schreiben und dann ganz einfach abfragen, ob in seiner Bewegungsrichtung ein Hindernis ist.

mfg, Christian
 

Ähnliche Java Themen

Neue Themen


Oben