Я пишу простую игру с уклонением от мышки, и мне нужно сжечь маленькие звездочки, чтобы увернуться. я сделал так, что как только одна звезда покидает экран, она снова загорается вверху> это работает, но она загорается в той же позиции x
Вот код обновления, который перемещает звезду:
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
ran_x
переменной экземпляра, а не статической или глобальной. например каждая звезда должна быть связана со своим собственным значением координаты x, поэтомуstar.ran_x
04.06.2013