Блиттинг в новой позиции x Pygame

Я пишу основную игру с уклонением от мыши, и мне нужно сразить маленьких звезд, чтобы уклониться я сделал так, чтобы, как только одна звезда покидала экран, она снова сверкала наверху> это работает, но она мигает в той же позиции х

Вот код обновления, который перемещает звезду:

def update(self):
    self.mouse_pos = pygame.mouse.get_pos()
    (self.player_r.x, self.player_r.y) = self.mouse_pos

    self.star_r.x = ran_x
    self.star_r.y += 2
    if self.star_r.y > 640:
        self.star_r.y = 0

Вот где звезда вспыхнула:

def blitPlayer(self, screen):
    screen.blit(background,(0,0))
    screen.blit(self.player,(self.mouse_pos))
    screen.blit(self.star,(ran_x, self.star_r.y))

Я определяю ran_x вне класса наверху, как это:

ran_x = random.randint(10,470)

Я думаю, что происходит, когда я запускаю его, ran_x определяется одним случайным числом и затем сохраняет это число, но я хочу, чтобы оно менялось каждый раз, когда звезда покидает экран

Заранее спасибо!!

-ChristianCareaga

1 ответ

Решение

Тогда почему бы не пересчитать ran_x здесь:

if self.star_r.y > 640:
    self.star_r.y = 0
    ran_x = new random number
Другие вопросы по тегам