Я хочу, чтобы мой игрок смотрел на определенные координаты в pygame. Я попытался сделать это, получив угол между положением игрока и координатами, а затем повернув его на этот угол. Я использовал для этого функцию, она работает правильно, когда мне нужно, чтобы мой игрок смотрел на координаты мыши, но не работает, когда я использую ту же функцию, чтобы зомб ie смотрел на игрока. Это была та функция, которая использовалась.
def rotate_char(khiladi,vector,old_center,angle=False) :
x1, y1 = vector
x2, y2 = khiladi.pos
dx, dy = x2 - x1, y2 - y1
rads = atan2(dx, dy)
degs = degrees(rads)
r_khiladi = pygame.transform.rotate(khiladi.image, degs)
R_k = r_khiladi.get_rect()
R_k.center = old_center
screen.blit(r_khiladi, (R_k))
if angle : return degs
Я использовал другой метод, который использовал numpy
v1_u = list(khiladi.pos / linalg.norm(khiladi.pos))
v2_u = list(vector / linalg.norm(vector))
v1_u[1] , v2_u[1] = -v1_u[1] , -v2_u[1]
c_angle = degrees(arccos(clip(dot(v1_u, v2_u), -1.0, 1.0)))
Когда я пытался напечатать углы, они были совершенно неуместны и не соответствовали ' т даже не показал какой-либо модели. Пожалуйста, помогите