2017-06-13 23 views
0

好吧,這個有點奇怪。pygame問題 - 'NoneType'對象沒有屬性'fill'

我承認我是全新的Python,但沒有編程,所以我嘗試了所有不同的方法來找到這個問題的答案,但沒有得出任何結果。

我不會因爲我所做的潦草編碼而感到厭倦,但最終我會使用代碼gameDisplay.fill((0,0,0)),並在shell上提出錯誤'NoneType' object has no attribute 'fill'

我試着移動遊戲顯示代碼,然後在shell中運行命令以查看它的所有活動。在兩臺機器上(一臺Ubuntu Linux一臺Mac)。 shell的結果起作用。但是,當我再次檢查並再次檢查主代碼時,我得到了那個NoneType錯誤。

所以,爲了確保我沒有在代碼中犯錯,我進入了一個非常簡單的程序。

import pygame 

pygame.init() 

screenW = 900 
screenH = 600 
screen = ((screenW,screenH)) 
gameDisplay = pygame.display.set_mode(screen) 
gameDisplay = pygame.display.set_caption('MyArea') 
gameDisplay.fill((255,0,0)) 
pygame.display.update() 

所以在這一點,當我運行的代碼,我應該拿出題爲「MyArea」矩形窗口,它應該被塗成紅色。

這是一個黑色的窗口,標有正確的字體,在shell中有'NoneType' object has no attribute 'fill'

所以在這一點上,我知道這是我做錯了什麼。我已經將這個確切的序列直接放到了shell中,而且,在我調用更新函數之後,我得到了名爲「MyArea」的900,600長矩形窗口,並將其繪成紅色。

什麼給?

+0

我不知道你是否知道元組或三元組是如何工作的...... – TokyoGaijin

+0

'set_caption'返回'None'。案件結案。 – 2017-06-13 07:30:23

回答

2

到Iausek的評論類似,更換

gameDisplay = pygame.display.set_caption('MyArea')

有:

pygame.display.set_caption('MyArea')

pygame.display.set_caption(caption)返回None,只是修改當前窗口的標題。根據文檔:

如果顯示器有窗口標題,此功能將更改窗口上的名稱。某些系統支持用於最小化顯示的可選短標題。

相關問題