Использование
mousex, mousey = pygame.mouse.get_pos()
Теперь вам нужно вычислить угол поворота, чтобы повернуть игрока, чтобы посмотреть на положение мыши.
Сначала вычислите вектор, на который указывает направлениев направлении положения мыши.
x = mousex - player.position.x
y = mousey - player.position.y
В результате получается вектор (x, y), направление которого указывает на положение мыши.Зачем?Потому что, когда у вас есть два вектора, в этом случае a (mousex, mousey) и b (player.position.x, player.position.y) ,
математика говорит нам, что если вы вычитаете b из , то вы создаете другую векторную величину , что ее длина - это расстояние от a до b и его направлениеточки от b до
Теперь вычислите угол (в радианах)
angle = math.atan2( x, y)
Теперь вам нужно преобразовать угол в градусы вместо радиан, потому что следующий методмы собираемся использовать необходимо использовать угол в градусах.
angle = (180 / math.pi) * (-angle)
Теперь поверните изображение с помощью pygame.transform.rotate ()
rotated_image = pygame.transform.rotate(your_player_image, int(angle))
ВотВажно отметить, что вам нужно использовать исходное изображение, которое вы загрузили с помощью pygame.image.load () , а не то, которое вы используете для блит-проигрывателя.
Теперь применитеновое изображение для игрока:
player.image = rotated_image