Ich mache ein 2d Top-Down-Shooter-Spiel und im Idealfall möchte ich, dass die Gegner nur auf den Spieler schießen, wenn sie ihn sehen (damit sich der Spieler hinter einer Kiste verstecken kann etc.)Pygame Raycasting für Sichtlinie
Ich habe Forschung gemacht und ich denke, der beste Weg, dies zu tun wäre Raycasting. Ich konnte kein gutes Beispiel für Raycasting in Pygame finden.
Alternativ habe ich diesen Teil des Codes auf einer anderen Frage Stackoverflow (Pygame Line of Sight from Fixed Position)
def isInLine(player, person):
deltaX = person[0] - player[0]
deltaY = person[1] - player[1]
if (person[0] == player[0]) or (person[1] == player[1]) or (abs(deltaX) == abs(deltaY)):
return true
aber ich bin nicht sicher, ob es die Art der Sache accomplsih würde ich will und wenn es ich bin, ist, nicht sicher, wie ich es umsetzen würde.
Was ich zuerst frage ist, würde der Code, den ich verwende, erreichen, was ich tun wollte, und wenn ja, wie würde ich es implementieren und gibt es einen besseren Weg, es zu tun.
Was genau fragen Sie? Ihr Beitrag ist eine Reihe von Aussagen, es gibt keine Frage. – MattDMo
Erstens: Würde der von mir hinzugefügte Code funktionieren, wie würde ich ihn verwenden und ob es einen besseren Weg gibt, dies zu tun? – randomtoenailmonkey