2013-06-04 52 views
0

我正在寫一個基本的鼠標躲閃遊戲,並且我需要用閃爍的小星星來閃避。我做到了,因此一旦一個星葉再次的blit它在頂部的作品畫面>,但它的blit它在相同的x位置Blitting in new x position 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 
+0

是啊,那應該這樣做,你認爲有一個簡單的方法做塊像2或3在同一時間,而不是一個 – Serial

+1

@ Christian Careaga使'ran_x'成爲一個實例變量,不是靜態的或全局的。例如每個星星都應該與它自己的x座標值相關聯,所以'star.ran_x' – Patashu