Ich berechne den Unterschied in Grad zwischen meinem Mauszeigerwinkel in Bezug auf meinen 'Fahrzeugwinkel. Ich nehme die Hälfte dieser Entfernung, die ich als Versatz ablege, und bewege dann mein Fahrzeug dorthin, was mich nach ein paar Berechnungen schließlich in meinen gewünschten Winkel bringt. Wenn meine Maus jedoch bei -185 steht und ich sie leicht auf 185, also nur 10 Grad, bewege, nimmt das Fahrzeug den "langen Weg" von -185 auf 0 und dann zurück auf 185. Ich habe viele Möglichkeiten ausprobiert, um die Grenze von -180 bis 180 passieren zu lassen, hatte aber kein Glück.Berechnen der Entfernung zwischen Winkeln, die -180 bis 180 überschreiten
Heres der Code:
def get_angle(self, p1, p2):
return m.atan2(p2[1]-p1[1],p2[0]-p1[0])
def update(self):
mouse_pos = pygame.mouse.get_pos()
self.update_vehicle(self.pos, self.get_angle(self.pos, mouse_pos), r.black)
def update_vehicle(self, pos, dir, color):
self.dir += (dir - self.dir)/50
wo self.dir
ist der Winkel mein Fahrzeug realisiert, und dir
ist der Winkel an sie übergeben, von der Maus auf sich.
Sind Sie bereit, den Code zu teilen, der das beschriebene Problem veranschaulicht? – Ivan
@Ivan Da gehts. Das ist der funktionelle Teil, ich würde nicht denken, dass du die ganze Sache brauchst. – BrrrIce