In Java Objekt einem Pfad folgen lassen?

4 Antworten

Einfache Trigonometrie. Distanz x-Achse pro Zeiteinheit: cos(Winkel), Distanz y-Achse entsprechend sin(Winkel).

Pfade werden generell entweder nach der von Etter erwähnten Methode oder mithilfe von Freiformkurven definiert. Für Letzteres eignen sich z. B. Bézierkurven. Schau dir dazu u.a. Bernsteinpolynome an. Hier habe ich sogar schon einen fertigen Code zum Zeichnen einer Bézierkurve gefunden: https://stackoverflow.com/questions/34292504/drawing-bezier-curve-in-java

Diesen könnte man natürlich auch für die Bewegung nutzen, indem man die Koordinaten des Objektes dementsprechend anpasst.

Hier ist zudem ein perfektes Tutorial, welches auch die Theorie enthält: http://devmag.org.za/2011/04/05/bzier-curves-a-tutorial/

Es ist leider kein Java-Code, doch solltest du das mit etwas Einarbeitungszeit hinbekommen.

Kommt drauf an. Wenn du beispielsweise deine Karte in ein Gitternetz unterteilst kannst du die Einheiten einfach in die gewünschte Box setzen. Je nach Feinheit des Gitters sieht es dann besser oder schlechter aus.

Ansonsten könnteste auch Wegpunkte vorgeben von denen aus sich die Einheiten zum nächsten Wegpunkt bewegen.

Ich weiß natürlich nicht was du jetzt gerade benutzt, aber mit JavaFX zum Beispiel kannst du das mit TranslateTransition relativ einfach machen. Ggf. kannst du auch eine PathTransition verwenden, sollte der 'Weg' relativ komplex sein (also Ovale oder so etwas).

Woher ich das weiß:Berufserfahrung – Programmierer