我正在写一个基本的鼠标躲闪游戏,我需要blit小星星闪避。我做到这一点,一旦一颗星离开屏幕,它再次在顶部blit>虽然有效,但它会在相同的x位置blit
以下是移动星标的更新代码:
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
答案 0 :(得分:1)
那么为什么不在这里重新计算ran_x:
if self.star_r.y > 640:
self.star_r.y = 0
ran_x = new random number