Блиттинг в новой позиции 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