Я делаю 2-й нисходящий шутер, и в идеале я хотел бы, чтобы враги стреляли только в игрока, когда они его видели (чтобы игрок мог спрятаться за ящиком и т. Д.),Pygame Raycasting для линии видимости
Я сделал исследование, и я думаю, что лучший способ сделать это - это расование. Я не смог найти хороший пример raycasting в pygame.
С другой стороны, я видел этот кусок кода на другой 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
, но я не уверен, что если бы это accomplsih вид, что я хочу, и если это я не знаю, как я его реализую.
Что я прошу, во-первых, будет ли код, который я использую, выполнить то, что я хотел сделать, и если да, то каким образом я его реализую и есть лучший способ сделать это.
Что именно вы спрашиваете? Ваш пост - это серия заявлений, нет сомнений. – MattDMo
Во-первых, добавит ли код, который я добавил, как я его использую, и если есть лучший способ сделать это. – randomtoenailmonkey