2012-02-17 31 views
0

每當我嘗試運行pygame程序時,我試圖加載一些圖片,我總是會得到純粹的「pygame.error」而沒有其他東西。在pygame中加載圖片會導致「pygame.error」

我已經導入pygame以及pygame.locals。起初我認爲這是因爲它找不到我的文件,但每當我將文件的名稱更改爲不正確的文件時,它會顯示「無法打開圖像」,因此我猜測它確實找到了該文件,但嘗試加載時卻失敗。 startup()函數是從main運行的第一個東西。並且我也試着在python文件的同一目錄下用grass.png文件做一個簡單的grass = pygame.image.load('grass.png')

感謝所有我能得到的幫助convert_alpha(),其中包含一個文本文件,其中包含一個文本文件,一個文本文件,一個文本文件,一個文本文件,一個文本文件,一個文本文件,一個文本文件。 pygame.error

def startup(): 
    pygame.init() 
    p1=Player.Player(int(random.random()*mapstorlek),int(random.random()*mapstorlek)) 
    vh=ViewHandler.ViewHandler() 
    surroundingssdict = {'grass': pygame.image.load(os.path.join('images','grass.png')).convert(), 
      'mount': pygame.image.load(os.path.join('images', 'mount.png').convert)()} 
    playerdict={'p1': pygame.image.load(os.path.join('images','player.png')).convert()} 
+1

嗯,要開始我很確定在''mount'中有圓括號:pygame.image.load('images','mount.png')。 )}「(看看.convert)()部分) – user1048917 2012-02-20 17:20:11

回答

0

pygame.error通常伴隨着一個消息,關於什麼地方出了錯,更多的細節,如「無法打開圖片」你當你嘗試非EXIS很好的形象。你確定沒有更多信息嗎?不能確定有什麼問題,但我會拋出兩條建議:

在加載圖像之前,您是否撥打pygame.display.set_mode來設置顯示界面?您可能會在ViewHandler課程中這樣做,但如果不是convert()將會失敗,因爲它會改變表面的像素格式以匹配顯示器,但如果沒有顯示器激活,它當然不能這樣做。

另一種可能是你沒有pygame中的完整圖像支持,無法加載.png。你有沒有嘗試加載其他格式?嘗試調用pygame.image.get_extended()以查看您的pygame是否構建有擴展圖像支持。即使它返回True,也不能保證你可以加載.png,但至少它更可能是其他東西。