In einem Spiel, das ich in 2D entwickle, habe ich einen oder mehrere Kreise (Kugeln), die mit mehreren Rechtecken (Steinen) kollidieren können.
Ich versuche eine Kollisionserkennungsstrategie zu finden und habe mir den folgenden Plan ausgedacht.
Erhalten Sie für jede Schleife des Spieltickers den x-, y-Punkt des Starts und des Ziels des Balls.
Bilden Sie am Start- und Zielpunkt ein Rechteck (blaue Farbe in Abb. 1), an dem sich die Kugeln drehen, und stellen Sie die Rechteckbreite auf den Radius der Kugeln mal zwei ein.
Überprüfen Sie mithilfe der Achsentrennung , ob sich das Rechteck mit einem beliebigen Element im Spielbereich schneidet
Wenn sich der durch das Rechteck definierte Ballpfad mit etwas im Spielbereich schneidet, bewegen Sie den Ball zum Kollisionspunkt. Nachdem Sie einen neuen Start- und Zielpunkt festgelegt haben, wiederholen Sie den Vorgang von Punkt 2 aus, solange es Kollisionen gibt oder der Ball hat nicht 100% seiner geplanten Entfernung zurückgelegt.
Mit dieser Strategie kann ich Kollisionserkennung mit hohen Ballgeschwindigkeiten sowie hoher Präzision haben.
Ich bin ein ziemlich neuer Spieler in der Spieleentwicklung, daher besteht eine hohe Wahrscheinlichkeit, dass ich das übertreibe und dass es wahrscheinlich Alternativen dazu gibt. Jede Hilfe / Einsicht dazu wird sehr geschätzt.