Задать вопрос
pampam0101
@pampam0101
начинаю учить пайтон

Как сделать так, чтобы пулька поворачивалась в строну движения?

class Bullet(pygame.sprite.Sprite):
    def __init__(self, player_image:str, player_x:int, player_y:int, player_speed:int, w:int , h:int):
            super().__init__()
            self.image = pygame.transform.scale(pygame.image.load(player_image), (w, h))
            self.rect = self.image.get_rect(center=(player_x,player_y))
            self.rect.x = player_x
            self.rect.y = player_y
            self.speed = player_speed
            self.width = w
            self.height = h
            self.orig = self.image
    def reset(self, window):
        window.blit(self.image, (self.rect.x, self.rect.y))
    def move(self):

        # выглядит это так:
        screen_size = 626,626
        # Получаем координаты мыши относительно экрана
        mouse_pos = pygame.mouse.get_pos()
        # Вычисляем координаты мыши относительно центра экрана
        mouse_x = mouse_pos[0] - screen_size[0] // 2 + self.rect.centerx
        mouse_y = mouse_pos[1] - screen_size[1] // 2 + self.rect.centery
        # Вычисляем направление
        angle = np.arctan2(mouse_y - self.rect.centery, mouse_x - self.rect.centerx)
        dx = np.cos(angle)
        dy = np.sin(angle)
        self.direction = (dx, dy)
        self.rect.x += self.speed * self.direction[0]
        self.rect.y += self.speed * self.direction[1]
        if self.rect.y <= -30: #если пулька вышла за границу экрана, то удаляем её
            bullets.remove(self) #удаляем спрайт из списка
  • Вопрос задан
  • 62 просмотра
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы