2014-01-21 168 views
1

所以,我有一個pygame.circle,我想移動。我讓它移動等,但它只是複製圖像,並沒有刪除以前。我理解「Blit」的概念並理解它複製了一個像素數組。所以我想我會嘗試重繪我的整場比賽,這是我有:重繪圖像無法正常工作?

  if event.type == pygame.KEYDOWN and event.key == pygame.K_a: 
       diceRoll = random.randint(1, 4) 
       diceRollLabel = myFont.render(str(diceRoll), 1, black) 
       window.blit(diceRollLabel, (750, 40)) 
       window.fill(black) 
       game() 

       count1 = pygame.draw.circle(window, (black),(150, countY - 72 * diceRoll), 25, 0) 
       game = False 
       game2 = True 
       print("Test") 

       player1Text = myFont.render(("Player twos turn!"), 1, black) 
       window.blit(player1Text, (650, 750)) 
       pygame.display.update() 
       break 

當所謂的「遊戲()」,它應該記得,包含了所有的遊戲畫面的功能,所以質地等,但出於某種原因,它沒有做任何事情?屏幕變黑了?

它說「布爾對象不可調用」但我的函數不是布爾值?

回答

0

你已經設置的遊戲爲布爾

game = False 

所以,當你打電話「遊戲()」這是一樣的「僞()」,這是你的錯誤的原因。

在blice diceRollLabel(黑色)之後,您也填充屏幕黑色,然後您似乎在黑色屏幕上繪製黑色圓圈。

完整代碼將對您有所幫助。

+0

我把它固定在一定程度上,但現在當它調用該函數它只顯示黑色 – user3216654

+0

我不知道你做了什麼樣的變化,但我建議,如果你的背景是黑色的,則你不使用黑色的文字,圓形。如果我讓它們變白,那麼它們會顯示在我的屏幕上。 – elParaguayo

1

在循環開始時填充屏幕。

def draw(): 
    screen.fill(Color('black')) 
    # draw 
    pygame.display.flip()