Направленные столкновения в PyGame? - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть код для обнаружения коллизий в PyGame, но как вы обнаруживаете, в каком направлении он сталкивается? Мой текущий код использует obj.colliderect(wall), как я могу изменить это, чтобы удовлетворить мои потребности?

1 Ответ

3 голосов
/ 23 февраля 2012

1. получить последнюю позицию, получить фактическую позицию на момент столкновения, найти направление.

import math
x1,y1 = obj.pos
x2,y2 = obj.lastpos

x = x2 - x1
y = y2 - y1

angle = math.degrees(math.atan2(y,x))
if angle < 0:  angle += 360
print(angle)
#now you have the angle from it was heading

2.Если у вас есть угол направления объекта:

angle = obj.get_angle()
angle += 180
while angle>360: angle += -360
print(angle)
#now you have the angle from it collides.
...