我有用于检测PyGame中的碰撞的代码,但是如何检测它碰撞的方向?
我目前的代码使用obj.colliderect(wall)
,我怎么能修改它以满足我的需要呢?
答案 0 :(得分:3)
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.如果你有obj方向角:
angle = obj.get_angle()
angle += 180
while angle>360: angle += -360
print(angle)
#now you have the angle from it collides.