Ich mache ein Top-Down-2D-Spiel. Wenn sich mein Player bewegt, bewegt sich der Cursor nicht mit. In meinem Spiel bewegt sich der Spieler, indem er auf den Cursor zeigt und dann darauf zugeht. Dies bedeutet, dass der Spieler schließlich den Cursor erreicht und dann einen Fehler macht.
Wie gehe ich mit Spielerbewegungen um, wenn sie die Maus erreichen?
Antworten:
Bei vielen Top-Down-2D-Spielen ist die Kamera auf den Player zentriert. Dadurch bewegt sich die Maus immer vom Player weg. Der von Ihnen erwähnte „Fehler“ kann behoben werden, indem unmittelbar um den Spieler eine tote Zone hinzugefügt wird. Wenn Sie mit der Maus innerhalb dieser Totzone klicken, werden die Befehle zum Verschieben und Drehen nicht aktiviert.
Das Bewegungs- und Drehverhalten soll nicht auf so kurzen Strecken funktionieren. Es wird oft das Ziel überschießen und hier wird der "Fehler" eingeführt. Der Algorithmus schwingt im Wesentlichen auf dem Ziel, ohne es erreichen zu können. Die Alternative, dies zu beheben, besteht darin, eine Art maximale Geschwindigkeit basierend auf der Entfernung zum Ziel zu haben. Sehen Sie sich das Verhalten bei der Lenkankunft an, um mehr über dieses Problem zu erfahren:
Vermeiden des Umlaufens beim Lenkverhalten
Lenkverhalten ankommen
quelle
distance<speed
ich in allen meinen Spielen diespeed
gleiche Entfernung einnehme, bewege einen Tick und stoppe dann die Animation.