Код: Выделить всё
def angle_to_mouse(self):
mouse_pos = vec(pygame.mouse.get_pos())
gun_pos = vec(self.rect.center)
dx = mouse_pos.x - gun_pos.x
dy = -(mouse_pos.y - gun_pos.y)
if dx != 0:
return math.degrees(math.atan2(dy, dx))
Код: Выделить всё
self.image = pygame.transform.rotate(self.base_image, self.angle_to_mouse())
Код: Выделить всё
class CameraGroup(pygame.sprite.Group):
def __init__(self, target=None, *sprites):
super().__init__(*sprites)
self.target = target
self.offsetx = 0
self.offsety = 0
def get_offset(self):
self.offsetx = WIDTH / 2 - self.target.rect.x
self.offsety = HEIGHT / 2 - self.target.rect.y
return vec(self.offsetx, self.offsety)
def camera_draw(self, screen):
self.get_offset()
for sprite in self.sprites():
offset_pos = (
round(sprite.rect.x + self.offsetx),
round(sprite.rect.y + self.offsety),
)
screen.blit(sprite.image, offset_pos)
def set_target(self, sprite):
self.target = sprite
Будем благодарны за любую помощь. Заранее спасибо.
Проект Github
Подробнее здесь: https://stackoverflow.com/questions/787 ... math-atan2