2010-12-01 6 views
1

Vielleicht habe ich einen Brainfart, es scheint, dass dies wirklich einfach sein sollte.Wie kann ich eine diagonale Linie als Grenze verwenden?

pygame.draw.line(screen, color, e.start, e.stop, 3) 

in der Farbe Dies zeichnet eine Linie auf dem Objekt Bildschirm, von der Tupel-Koordinaten e.start auf die Tupel-Koordinaten e.stop: Ich habe eine Linie in Python pygame mit gezeichnet.

Wie auch immer, ich versuche, ein Spiel zu erstellen, das ein Objekt stoppt, wenn es einen Teil der Linie trifft. Ich hatte ein paar Ideen, die meisten von ihnen rechenintensiv. Gibt es einen einfachen, einfachen Weg, um dieses Problem zu lösen, oder sollte ich den Prozessor zu einem Grunzen machen?

+0

Ist Ihre Objektgrenze durch ein Polygon definiert? – tkerwin

+0

Nein, die Grenze ist einfach eine Linie, obwohl ich ein Polygon dahinter erstellen könnte, wenn das hilft. Ich habe ein "Kanten" -Objekt erstellt, das die Koordinaten für die Linie enthält und dort oben in der Codezeile als "e" dargestellt wird. – Rolan

Antwort

1

Oh duh! Die Gleichung einer Linie. y = mx + b kann aus 2 Punkten abgeleitet werden. Meine Güte. Dann kann ich einfach die Größe des Objekts verwenden, das ich an der Linie anhalten möchte, um zu überprüfen, ob es die Linie trifft.